Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Swift 2) Get the Photos for a UserDemonstrates how to get the photos that the user has uploaded.
func chilkatTest() { // 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 let oauth2 = CkoOAuth2() oauth2.AccessToken = "FACEBOOK-ACCESS-TOKEN" let rest = CkoRest() // Connect to Facebook. var success: Bool = rest.Connect("graph.facebook.com", port: 443, tls: true, autoReconnect: true) if success != true { print("\(rest.LastErrorText)") 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", value: "uploaded") // We could limit the number of photos by setting a limit. rest.AddQueryParam("limit", value: "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. var responseJson: String? = rest.FullRequestNoBody("GET", uriPath: "/v2.7/me/photos") if rest.LastMethodSuccess != true { print("\(rest.LastErrorText)") return } let json = CkoJsonObject() json.EmitCompact = false json.Load(responseJson) print("\(json.Emit())") // A sample JSON response is shown below. // This is the code to parse the JSON response. let dtime = CkoDateTime() var bLocalTime: Bool = true var dt: CkoDtObj? var i: Int = 0 var numItems: Int = json.SizeOfArray("data").intValue while i < numItems { json.I = i print("--- \(i)") var name: String? = json.StringOf("data[i].name") if json.LastMethodSuccess == true { print("name: \(name!)") } print("id: \(json.StringOf("data[i].id"))") // We can load the created_time into a CkDateTime... dtime.SetFromTimestamp(json.StringOf("data[i].created_time")) dt = dtime.GetDtObj(bLocalTime) print("\(dt!.Month.intValue)/\(dt!.Day.intValue)/\(dt!.Year.intValue) \(dt!.Hour.intValue):\(dt!.Minute.intValue)") dt = nil i = i + 1 } // We can get the paging information as follows: print("URL for next page: \(json.StringOf("paging.next"))") print("before cursor: \(json.StringOf("paging.cursors.before"))") print("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" // } // } // } |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.