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 3,4,5...) 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.size(ofArray: "data").intValue while i < numItems { json.i = i print("--- \(i)") var name: String? = json.string(of: "data[i].name") if json.lastMethodSuccess == true { print("name: \(name!)") } print("id: \(json.string(of: "data[i].id")!)") // We can load the created_time into a CkDateTime... dtime.setFromTimestamp(json.string(of: "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.string(of: "paging.next")!)") print("before cursor: \(json.string(of: "paging.cursors.before")!)") print("after cursor: \(json.string(of: "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.