Sample code for 30+ languages & platforms
AutoIt

Get the Photos for a User

See more Facebook Examples

Demonstrates how to get the photos that the user has uploaded.

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 = False) 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 by setting a limit.
$oRest.AddQueryParam("limit","5")

; Gets 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 = False) Then
    ConsoleWrite($oRest.LastErrorText & @CRLF)
    Exit
EndIf

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

; A sample JSON response is shown below.  
; This is the code to parse the JSON response.

$oDtime = ObjCreate("Chilkat.CkDateTime")
Local $bLocalTime = True

$oDt = ObjCreate("Chilkat.DtObj")
Local $i = 0
Local $iNumItems = $oJson.SizeOfArray("data")
While $i < $iNumItems
    $oJson.I = $i
    ConsoleWrite("--- " & $i & @CRLF)
Local $sName = $oJson.StringOf("data[i].name")
    If ($oJson.LastMethodSuccess = True) Then
        ConsoleWrite("name: " & $sName & @CRLF)
    EndIf

    ConsoleWrite("id: " & $oJson.StringOf("data[i].id") & @CRLF)

    ; We can load the created_time into a CkDateTime...
    $oDtime.SetFromTimestamp($oJson.StringOf("data[i].created_time"))
    $oDtime.ToDtObj $bLocalTime,$oDt

    ConsoleWrite($oDt.Month & "/" & $oDt.Day & "/" & $oDt.Year & "  " & $oDt.Hour & ":" & $oDt.Minute & @CRLF)
    $i = $i + 1
Wend

; We can get the paging information as follows:
ConsoleWrite("URL for next page: " & $oJson.StringOf("paging.next") & @CRLF)
ConsoleWrite("before cursor: " & $oJson.StringOf("paging.cursors.before") & @CRLF)
ConsoleWrite("after cursor: " & $oJson.StringOf("paging.cursors.after") & @CRLF)

; This is a sample JSON response:
; { 
;   "data": [
;     {
;       "created_time": "2016-09-29T20:46:18+0000",
;       "name": "Ignore my posts -- I'm doing some testing for Facebook related programming...",
;       "id": "10210199026347451"
;     },
;     { 
;       "created_time": "2016-09-19T02:00:42+0000",
;       "id": "10210091531240138"
;     },
;     { 
;       "created_time": "2016-09-19T02:00:42+0000",
;       "id": "10210091520620125"
;     },
;     { 
;       "created_time": "2016-09-19T01:59:46+0000",
;       "name": "I would've went for a swim had it not been for the sign",
;       "id": "10210091522299917"
;     },
;     { 
;       "created_time": "2016-09-12T00:37:35+0000",
;       "id": "10210023316834798"
;     }
;   ],
;   "paging": { 
;     "cursors": { 
;       "before": "MTAyMTAxOTkwMjYzNDc0NTEZD",
;       "after": "MTAyMTAwMjMzMTU4MzQ3OTgZD"
;     },
;     "next": "https:\/\/graph.facebook.com\/v2.7\/10224048320139890\/photos?type=uploaded&limit=5&after=MTAyMTAwMjMzMTU4MzQ3OTgZD"
;   }
; }
;