Sample code for 30+ languages & platforms
AutoIt Requires Chilkat v11.0.0+

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"
;    }
;  }
;