DataFlex
DataFlex
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 DataFlex Downloads
Use ChilkatAx-win32.pkg
Procedure Test
Boolean iSuccess
Variant vOauth2
Handle hoOauth2
Handle hoRest
String sPhotoId
Handle hoSbPath
String sResponseJson
Handle hoJson
Boolean iCanDelete
Integer iHeight
Integer iWidth
String sTemp1
Boolean bTemp1
Move False To iSuccess
// 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
Get Create (RefClass(cComChilkatOAuth2)) To hoOauth2
If (Not(IsComObjectCreated(hoOauth2))) Begin
Send CreateComObject of hoOauth2
End
Set ComAccessToken Of hoOauth2 To "FACEBOOK-ACCESS-TOKEN"
Get Create (RefClass(cComChilkatRest)) To hoRest
If (Not(IsComObjectCreated(hoRest))) Begin
Send CreateComObject of hoRest
End
// Connect to Facebook...
Get ComConnect Of hoRest "graph.facebook.com" 443 True True To iSuccess
If (iSuccess <> True) Begin
Get ComLastErrorText Of hoRest To sTemp1
Showln sTemp1
Procedure_Return
End
// Provide the authentication credentials (i.e. the access key)
Get pvComObject of hoOauth2 to vOauth2
Get ComSetAuthOAuth2 Of hoRest vOauth2 To iSuccess
// Assumes we've already obtained a Photo ID.
Move "10210199026347451" To sPhotoId
Get Create (RefClass(cComChilkatStringBuilder)) To hoSbPath
If (Not(IsComObjectCreated(hoSbPath))) Begin
Send CreateComObject of hoSbPath
End
Get ComAppend Of hoSbPath "/v2.7/" To iSuccess
Get ComAppend Of hoSbPath sPhotoId To iSuccess
// Select the fields we want.
// This example will select many of the possible fields.
// See https://developers.facebook.com/docs/graph-api/reference/photo/
Get ComAddQueryParam Of hoRest "fields" "id,album,can_delete,can_tag,from,height,width,images,link,name,name_tags,picture,place,target" To iSuccess
Get ComGetAsString Of hoSbPath To sTemp1
Get ComFullRequestNoBody Of hoRest "GET" sTemp1 To sResponseJson
Get ComLastMethodSuccess Of hoRest To bTemp1
If (bTemp1 <> True) Begin
Get ComLastErrorText Of hoRest To sTemp1
Showln sTemp1
Procedure_Return
End
Get Create (RefClass(cComChilkatJsonObject)) To hoJson
If (Not(IsComObjectCreated(hoJson))) Begin
Send CreateComObject of hoJson
End
Set ComEmitCompact Of hoJson To False
Get ComLoad Of hoJson sResponseJson To iSuccess
// Show the JSON in human-readable format.
Get ComEmit Of hoJson To sTemp1
Showln sTemp1
// A sample response is shown below.
// Demonstrate how to parse values from the JSON.
Get ComStringOf Of hoJson "album.name" To sTemp1
Showln "Album name: " sTemp1
Get ComBoolOf Of hoJson "can_delete" To iCanDelete
Showln "Can Delete: " iCanDelete
Get ComStringOf Of hoJson "from.name" To sTemp1
Showln "From Name: " sTemp1
Get ComIntOf Of hoJson "height" To iHeight
Get ComIntOf Of hoJson "width" To iWidth
Showln "Dimensions: " iWidth "x" iHeight
Get ComStringOf Of hoJson "images[0].source" To sTemp1
Showln "First Image Source: " sTemp1
// 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"
// }
//
End_Procedure