我的應用程序的功能是:從Facebook頁面獲取帖子並在應用程序中顯示它。 我搜索了,我發現我應該使用Facebook GraphAPI: https://developers.facebook.com/docs/graph-api/using-graph-api/v2.3#reading 我遵循上一個鏈接,但我得到錯誤: 「訪問令牌是需要請求此資源。」 我有頁面的訪問令牌,但我真的不知道如何在我的請求中分配它。 請幫忙嗎? 非常感謝!如何使用GraphAPI在swift中獲取facebook頁面的帖子
回答
1.使用Facebook SDK。
登錄博客BUTTON
@IBAction func click_Facebook(sender: AnyObject)
{
let loginView : FBSDKLoginManager = FBSDKLoginManager()
loginView.loginBehavior = FBSDKLoginBehavior.Browser
loginView.logInWithReadPermissions(["public_profile","user_friends","user_photos","user_location","user_education_history","user_birthday","user_posts"], handler: { (result : FBSDKLoginManagerLoginResult!, error : NSError!) -> Void in
if ((error) != nil)
{
// Process error
self.alertWithMessaage(error.localizedDescription)
}
else if result.isCancelled {
// Handle cancellations
}
else {
self.returnUserData()
}
})
}
登錄調用下面的函數後。
var Requset : FBSDKGraphRequest
println("\(FBSDKAccessToken.currentAccessToken())")
var acessToken = String(format:"%@", FBSDKAccessToken.currentAccessToken().tokenString) as String
println("\(acessToken)")
var parameters1 = ["access_token":FBSDKAccessToken.currentAccessToken().tokenString]
Requset = FBSDKGraphRequest(graphPath:"me/posts", parameters:parameters1, HTTPMethod:"GET")
Requset.startWithCompletionHandler({ (connection, result, error) -> Void in
MBProgressHUD.hideHUDForView(appDelegate.window, animated: true)
if ((error) != nil)
{
println("Error: \(error)")
}
else
{
println("fetched user: \(result)")
var dataDict: AnyObject = result!.objectForKey("data")!
}
})
}
2.使用默認的Facebook應用程序。
//獲取訪問令牌
var _accountStore: ACAccountStore = ACAccountStore()
var accountType : ACAccountType = _accountStore.accountTypeWithAccountTypeIdentifier(ACAccountTypeIdentifierFacebook)!
var accounts : NSArray = _accountStore.accountsWithAccountType(accountType)!
var facebookAccount1: ACAccount = accounts.lastObject! as ACAccount
println("== \(facebookAccount1.credential.oauthToken)")
//通行證的accessToken對參數
var acessToken = String(format:"%@", facebookAccount1.credential.oauthToken) as String
var parameters = ["access_token":acessToken] as NSDictionary
// SLRequset
var imageURL : NSURL = NSURL(string: "Your graph URL")!
println("=== TOKEN : \(LoginService().currentAccount?.credential.oauthToken)")
var Requset = SLRequest(forServiceType: SLServiceTypeFacebook, requestMethod: SLRequestMethod.GET, URL: imageURL, parameters: parameters)
Requset.account = account
Requset.performRequestWithHandler { (responseData : NSData!, urlResponse : NSHTTPURLResponse!, error : NSError!) -> Void in
if (error != nil)
{
self.alertWithMessaage(error.localizedDescription)
}
else{
var datastring = NSString(data: responseData, encoding: NSUTF8StringEncoding)
println("== \(datastring)")
var error:NSError? = nil
var UserDict = NSJSONSerialization.JSONObjectWithData(responseData, options:nil, error: &error) as? NSDictionary
}
}
嘿 謝謝你sooo糊爲你的答案, 但我有訪問令牌的問題,你能解釋你如何得到它? 我從https://developers.facebook.com/tools/explorer 得到它,但過了一段時間這個訪問令牌不起作用,錯誤是: (到期時間已結束) 所以我必須續約它。 你能告訴我如何得到它嗎? – Rawan
使用Facebook登錄表單您的設置在Iphone中。 –
如果用戶沒有從設置登錄,會發生什麼情況? 和另一個問題: 我應用ur代碼,但在運行時,我在「facebookAccount1」中得到一個異常。錯誤是: 意外地發現零,而解包一個可選值 爲什麼? – Rawan
- 1. 從頁面的帖子(Facebook GraphAPI - Android)獲取多張圖片ID
- 2. 獲取Facebook頁面帖子
- 3. 只有在頁面上通過Facebook的朋友獲取帖子通過GraphAPI
- 4. 如何使用javascript或php從facebook頁面獲取帖子
- 5. 使用Facebook SDK獲取公共頁面的Facebook帖子
- 6. 如何在GraphApi中獲取帖子的位置?
- 7. 使用HtmlUnit獲取Facebook頁面帖子的XPath
- 8. 如何獲取facebook頁面的所有帖子?
- 9. 在Wp-admin中的帖子頁面中獲取帖子ID
- 10. 改變Facebook GraphAPI頁面抓取數據
- 11. 如何使用facebook圖形API獲取公共頁面的帖子?
- 12. 獲取Facebook專用圖片使用GraphAPI
- 13. 如何獲得facebook中特定頁面的所有帖子ID
- 14. 獲取帖子尚未在C#的Facebook頁面上閱讀#
- 15. 如何顯示Facebook頁面帖子?
- 16. 使用GraphAPI在android SDK中的Facebook頁面搜索
- 17. 使用facebook api和分頁獲取所有Facebook帖子
- 18. Facebook PHP SDK 3.0 - 如何在任何時候獲取我的頁面帖子?
- 19. 如何使用PHP SDK v5從Facebook頁面中刪除帖子
- 20. 如何獲取Facebook的帖子ID?
- 21. Office365 GraphAPI在Swift中獲取特定日子的日曆信息
- 22. 如何使用GraphAPI獲取我自己的Facebook訂閱源
- 23. WordPress的:使用頁面模板來獲取WP中的帖子
- 24. 獲取最後一小時/天的Facebook頁面帖子等
- 25. 獲取facebook頁面的所有帖子相關數據
- 26. 要獲取facebook頁面的最新帖子和評論
- 27. 從公共FB頁面獲取陳舊的Facebook帖子
- 28. 獲取facebook頁面共享的帖子列表
- 29. 從Facebook頁面的預定帖子獲取預定時間
- 30. 如何從Facebook獲取帖子?
將訪問令牌作爲參數傳遞。 –
謝謝 但如何? – Rawan
檢查我的答案。 –