Sample code for 30+ languages & platforms
Java

Paging User Photos with Cursor

See more Facebook Examples

Demonstrates how to iterate over the pages of user photos using a cursor.

Chilkat Java Downloads

Chilkat2 Java
import com.chilkatsoft.chilkat2.ChilkatException;
import com.chilkatsoft.chilkat2.JsonObject;
import com.chilkatsoft.chilkat2.OAuth2;
import com.chilkatsoft.chilkat2.Rest;

public class ChilkatExample {

    public static void main(String[] args) {
        // This example requires the Chilkat API to have been previously unlocked.
        // See Global Unlock Sample for sample code.

        // This example assumes a previously obtained an access token
        OAuth2 oauth2 = new OAuth2();
        oauth2.setAccessToken("FACEBOOK-ACCESS-TOKEN");

        Rest rest = new Rest();

        // Connect to Facebook.
        String responseJson;
        try {
            rest.connect("graph.facebook.com", 443, true, true);

            // Provide the authentication credentials (i.e. the access key)
            rest.setAuthOAuth2(oauth2);

            // Indicate that we only want the photos the user has personally uploaded.
            rest.addQueryParam("type", "uploaded");

            // We could limit the number of photos per page using the "limit" field.
            rest.addQueryParam("limit", "20");

            // Get the 1st page of photos. (Not the actual image data, but the information about each photo.)
            // See https://developers.facebook.com/docs/graph-api/reference/user/photos/ for more information.
            responseJson = rest.fullRequestNoBody("GET", "/v2.7/me/photos");
        } catch (ChilkatException e) {
            System.out.println(e.getLastErrorText());
            return;
        }

        JsonObject json = new JsonObject();
        json.setEmitCompact(false);
        json.load(responseJson);
        System.out.println(json.emit());

        // See Parsing the Facebook User Photos for code showing how to parse the JSON photos content.
        //

        // Get the "after" cursor.
        String afterCursor = json.stringOf("paging.cursors.after");
        while (json.getLastMethodSuccess()) {
            System.out.println("after cursor: " + afterCursor);

            // Prepare for getting the next page of photos.
            // We can continue using the same REST object.
            // If already connected, we'll continue using the existing connection.
            // Otherwise, a new connection will automatically be made if needed.
            rest.clearAllQueryParams();
            rest.addQueryParam("type", "uploaded");
            rest.addQueryParam("limit", "20");
            rest.addQueryParam("after", afterCursor);

            try {
                responseJson = rest.fullRequestNoBody("GET", "/v2.7/me/photos");
            } catch (ChilkatException e) {
                System.out.println(e.getLastErrorText());
                return;
            }

            json.load(responseJson);
            // See Parsing the Facebook User Photos for code showing how to parse the JSON photos content.

            System.out.println(json.emit());

            // Get the cursor for the next page.
            afterCursor = json.stringOf("paging.cursors.after");
        }

        System.out.println("No more pages of photos.");
    }
}