Go
Go
Get the Photos for a User
See more Facebook Examples
Demonstrates how to get the photos that the user has uploaded.Chilkat Go Downloads
success := 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
oauth2 := chilkat.NewOAuth2()
oauth2.SetAccessToken("FACEBOOK-ACCESS-TOKEN")
rest := chilkat.NewRest()
// Connect to Facebook.
success = rest.Connect("graph.facebook.com",443,true,true)
if success == false {
fmt.Println(rest.LastErrorText())
oauth2.DisposeOAuth2()
rest.DisposeRest()
return
}
// Provide the authentication credentials (i.e. the access key)
rest.SetAuthOAuth2(oauth2)
// Indicate that we only want the photos the user has personally uploaded.
rest.AddQueryParam("type","uploaded")
// We could limit the number of photos by setting a limit.
rest.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.
responseJson := rest.FullRequestNoBody("GET","/v2.7/me/photos")
if rest.LastMethodSuccess() == false {
fmt.Println(rest.LastErrorText())
oauth2.DisposeOAuth2()
rest.DisposeRest()
return
}
json := chilkat.NewJsonObject()
json.SetEmitCompact(false)
json.Load(*responseJson)
fmt.Println(*json.Emit())
// A sample JSON response is shown below.
// This is the code to parse the JSON response.
dtime := chilkat.NewCkDateTime()
bLocalTime := true
dt := chilkat.NewDtObj()
i := 0
numItems := json.SizeOfArray("data")
for i < numItems {
json.SetI(i)
fmt.Println("--- ", i)
name := json.StringOf("data[i].name")
if json.LastMethodSuccess() == true {
fmt.Println("name: ", *name)
}
fmt.Println("id: ", *json.StringOf("data[i].id"))
// We can load the created_time into a CkDateTime...
dtime.SetFromTimestamp(*json.StringOf("data[i].created_time"))
dtime.ToDtObj(bLocalTime,dt)
fmt.Println(dt.Month(), "/", dt.Day(), "/", dt.Year(), " ", dt.Hour(), ":", dt.Minute())
i = i + 1
}
// We can get the paging information as follows:
fmt.Println("URL for next page: ", *json.StringOf("paging.next"))
fmt.Println("before cursor: ", *json.StringOf("paging.cursors.before"))
fmt.Println("after cursor: ", *json.StringOf("paging.cursors.after"))
// 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"
// }
// }
//
oauth2.DisposeOAuth2()
rest.DisposeRest()
json.DisposeJsonObject()
dtime.DisposeCkDateTime()
dt.DisposeDtObj()