无法快速从 json 数据中检索 facebook 好友列表

Posted

技术标签:

【中文标题】无法快速从 json 数据中检索 facebook 好友列表【英文标题】:Trouble retrieving list of facebook friends from json data in swift 【发布时间】:2015-04-16 19:50:57 【问题描述】:

我在我的 Swift ios 应用程序中使用 FBSDK,目前我正在尝试检索 也使用我的应用程序的朋友列表。我有两三个人应该出现,但每当我搜索时朋友的 graphrequest 结果返回 nil..

let graphRequest : FBSDKGraphRequest = FBSDKGraphRequest(graphpath: "me",     parameters: nil)
        graphRequest.startWithCompletionHandler( (connection,     result:AnyObject!, error) -> Void in

            if ((error) != nil)
            
                // Process error
                println("Error: \(error)")
            
            else
            
                //get Facebook ID
                let faceBookID: NSString = result.valueForKey("id") as NSString
                //get username
                let userName : NSString = result.valueForKey("name") as NSString
                //get facebook friends who use app
                let friendlist: AnyObject = result.valueForKey("friends") as AnyObject

            

我拥有“email”、“user_friends”和“public_profile”权限,应该足以检索这些信息。关于我做错了什么的任何想法?这让我很头疼,因为我的朋友做一个 android 版本已经成功地让他工作了..

【问题讨论】:

【参考方案1】:

我的问题是我从来没有在我的 facebook 图表请求中实际请求过朋友列表...

替换FBSDKGraphRequest(graphPath: "me", parameters: nil)

FBSDKGraphRequest(graphPath: "me?fields=id,name,friends", parameters: nil)

我能够检索到朋友列表,因为响应实际上包含了相关信息。对我来说是一个非常微不足道的错误。

【讨论】:

【参考方案2】:

在 v2.0 的 Graph API 中,您必须请求 user_friends 权限 来自每个用户。 user_friends 不再默认包含在每个 登录。每个用户必须授予 user_friends 权限才能 出现在对 /me/friends 的回复中。

请看这里:https://developers.facebook.com/bugs/1502515636638396/

【讨论】:

感谢您的回复! Graph API 将允许您请求也使用您的应用程序的朋友 并已授予该应用程序相同的基本权限“user_friends”的列表。我的问题是我实际上从未在图形路径值中请求过这个朋友列表。

以上是关于无法快速从 json 数据中检索 facebook 好友列表的主要内容,如果未能解决你的问题,请参考以下文章

Facebook iOS 上传视频“无法从访问令牌中检索会话密钥。”

Mongoose - 无法检索快速路线中的虚拟字段

以键和值数组的形式快速从 JSON 中检索特定数组?

从 JSON 检索数据但无法从 JSONobject 访问 Arraylist

Android AsyncTask 无法从 php-mysql 检索 JSON 字符串

问题在 swift iOS 中检索 json 数据