AutoIt
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
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)