Sample code for 30+ languages & platforms
AutoIt

Paging User Photos with Cursor

See more Facebook Examples

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

Chilkat AutoIt Downloads

AutoIt
Local $bSuccess = False

; 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
$oOauth2 = ObjCreate("Chilkat.OAuth2")
$oOauth2.AccessToken = "FACEBOOK-ACCESS-TOKEN"

$oRest = ObjCreate("Chilkat.Rest")

; Connect to Facebook.
$bSuccess = $oRest.Connect("graph.facebook.com",443,True,True)
If ($bSuccess <> True) Then
    ConsoleWrite($oRest.LastErrorText & @CRLF)
    Exit
EndIf

; Provide the authentication credentials (i.e. the access key)
$oRest.SetAuthOAuth2($oOauth2)

; Indicate that we only want the photos the user has personally uploaded.
$oRest.AddQueryParam("type","uploaded")

; We could limit the number of photos per page using the "limit" field.
$oRest.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.
Local $sResponseJson = $oRest.FullRequestNoBody("GET","/v2.7/me/photos")
If ($oRest.LastMethodSuccess <> True) Then
    ConsoleWrite($oRest.LastErrorText & @CRLF)
    Exit
EndIf

$oJson = ObjCreate("Chilkat.JsonObject")
$oJson.EmitCompact = False
$oJson.Load($sResponseJson)
ConsoleWrite($oJson.Emit() & @CRLF)

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

; Get the "after" cursor.
Local $sAfterCursor = $oJson.StringOf("paging.cursors.after")
While $oJson.LastMethodSuccess = True

    ConsoleWrite("after cursor: " & $sAfterCursor & @CRLF)

    ; 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.
    $oRest.ClearAllQueryParams()
    $oRest.AddQueryParam("type","uploaded")
    $oRest.AddQueryParam("limit","20")
    $oRest.AddQueryParam("after",$sAfterCursor)

    $sResponseJson = $oRest.FullRequestNoBody("GET","/v2.7/me/photos")
    If ($oRest.LastMethodSuccess <> True) Then
        ConsoleWrite($oRest.LastErrorText & @CRLF)
        Exit
    EndIf

    $oJson.Load($sResponseJson)
    ; See Parsing the Facebook User Photos for code showing how to parse the JSON photos content.

    ConsoleWrite($oJson.Emit() & @CRLF)

    ; Get the cursor for the next page.
    $sAfterCursor = $oJson.StringOf("paging.cursors.after")
Wend

ConsoleWrite("No more pages of photos." & @CRLF)