Visual FoxPro
Visual FoxPro
Get Individual Photo Info
See more Facebook Examples
Assuming we have the ID of a Photo, this example demonstrates how to retrieve the photo information and parse the JSON.Chilkat Visual FoxPro Downloads
LOCAL lnSuccess
LOCAL loOauth2
LOCAL loRest
LOCAL lcPhotoId
LOCAL loSbPath
LOCAL lcResponseJson
LOCAL loJson
LOCAL lnCanDelete
LOCAL lnHeight
LOCAL lnWidth
lnSuccess = 0
* 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
loOauth2 = CreateObject('Chilkat.OAuth2')
loOauth2.AccessToken = "FACEBOOK-ACCESS-TOKEN"
loRest = CreateObject('Chilkat.Rest')
* Connect to Facebook...
lnSuccess = loRest.Connect("graph.facebook.com",443,1,1)
IF (lnSuccess <> 1) THEN
? loRest.LastErrorText
RELEASE loOauth2
RELEASE loRest
CANCEL
ENDIF
* Provide the authentication credentials (i.e. the access key)
loRest.SetAuthOAuth2(loOauth2)
* Assumes we've already obtained a Photo ID.
lcPhotoId = "10210199026347451"
loSbPath = CreateObject('Chilkat.StringBuilder')
loSbPath.Append("/v2.7/")
loSbPath.Append(lcPhotoId)
* Select the fields we want.
* This example will select many of the possible fields.
* See https://developers.facebook.com/docs/graph-api/reference/photo/
loRest.AddQueryParam("fields","id,album,can_delete,can_tag,from,height,width,images,link,name,name_tags,picture,place,target")
lcResponseJson = loRest.FullRequestNoBody("GET",loSbPath.GetAsString())
IF (loRest.LastMethodSuccess <> 1) THEN
? loRest.LastErrorText
RELEASE loOauth2
RELEASE loRest
RELEASE loSbPath
CANCEL
ENDIF
loJson = CreateObject('Chilkat.JsonObject')
loJson.EmitCompact = 0
loJson.Load(lcResponseJson)
* Show the JSON in human-readable format.
? loJson.Emit()
* A sample response is shown below.
* Demonstrate how to parse values from the JSON.
? "Album name: " + loJson.StringOf("album.name")
lnCanDelete = loJson.BoolOf("can_delete")
? "Can Delete: " + STR(lnCanDelete)
? "From Name: " + loJson.StringOf("from.name")
lnHeight = loJson.IntOf("height")
lnWidth = loJson.IntOf("width")
? "Dimensions: " + STR(lnWidth) + "x" + STR(lnHeight)
? "First Image Source: " + loJson.StringOf("images[0].source")
* A sample JSON response is shown here.
* {
* "id": "10210199026347451",
* "album": {
* "created_time": "2009-10-19T00:06:46+0000",
* "name": "Timeline Photos",
* "id": "1237223526054"
* },
* "can_delete": true,
* "can_tag": true,
* "from": {
* "name": "Matt Smith",
* "id": "10224048320139890"
* },
* "height": 120,
* "width": 120,
* "images": [
* {
* "height": 120,
* "source": "https:\/\/scontent.xx.fbcdn.net\/v\/t1.0-9\/14462791_10210199026347451_7830642117574407060_n.jpg?oh=a7f9ed10cf9cd81a82adeb541c60e2e2&oe=58ABB195",
* "width": 120
* }
* ],
* "link": "https:\/\/www.facebook.com\/photo.php?fbid=10210199026347451&set=a.1237223526054.2038240.1093202869&type=3",
* "name": "Ignore my posts -- I'm doing some testing for Facebook related programming...",
* "picture": "https:\/\/scontent.xx.fbcdn.net\/v\/t1.0-9\/14462791_10210199026347451_7830642117574407060_n.jpg?oh=a7f9ed10cf9cd81a82adeb541c60e2e2&oe=58ABB195"
* }
*
RELEASE loOauth2
RELEASE loRest
RELEASE loSbPath
RELEASE loJson