- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在尝试通过此代码访问我自己的 Facebook 好友列表,但生成的 JSON 不返回任何数据。
FBRequest *request = [FBRequest requestWithGraphPath:@"me/friends" parameters:nil HTTPMethod:@"GET"];
我正在设置这样的权限(我正在使用 PARSE)
[PFFacebookUtils linkUser:[PFUser currentUser] permissions:@[@"user_friends"] block:^(BOOL succeeded, NSError *error)
我错过了什么吗?
最佳答案
您使用的是 API 的 V2 版吗? Facebook 最近做了一个很大的改变,因此这个 API 调用现在只返回使用过发出请求的应用程序的 friend 。换句话说,您无法获取整个 friend 列表,只能获取也在使用相关应用的 friend 。
更多信息在这里:
https://developers.facebook.com/docs/graph-api/reference/v2.0/user/friends
您可以使用页面右上角的下拉菜单查看 1.0 版和 2.0 版之间的区别。
如果您使用的是新的 2.0 iOS SDK,FBRequest
有一个实例方法可以针对特定请求使用不同版本的 API。
在这种情况下,在你开始请求之前,你可以做
[request overrideVersionPartWith:@"v1.0"];
如 v1.0 page 中所述虽然:
Once a user has logged into an app using version 2.0 (or later), calling this edge for v1.0 will continue to return the later version's response.
基本上,为了使这项工作有效,您的登录方法也必须是旧的。
如果这是您需要的功能,具体取决于您计划支持此应用的时长,更简单的选择可能是使用旧版本的 Facebook SDK,至少目前如此。它将继续支持大约一年,届时您的要求可能会发生变化,因此您可以直接更新,或者 Facebook 可能会为我们提供再次获取用户的整个好友列表的能力,不幸的是,这不太可能。
使用旧 API 的最后一个版本是 3.13.1
。
您还可以使用其他一些选项,具体取决于您尝试对好友列表执行的操作。本网站的其他答案中有大量信息,here is one with a good discussion .
Simon Cross 指出了一些我不知道的信息。如果您的应用程序是在 2014 年 4 月 30 日之后创建的,则无论 SDK 版本或其他任何版本,您都无法使用 v1.0 API。所以基本上,此解决方法仅适用于在 4 月 30 日之前已经在其应用中使用 1.0 API 的用户。
关于ios - 用于好友列表的 Facebook Graph API 在 iOS 上返回 nil,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23861365/
在检查对象是否为 nil 时,有人使用 1: if (object == nil) { //... } 有人用 2: if (nil == object) { //... } 1和2有
func InsertApData(w http.ResponseWriter, r *http.Request) { decoder := json.NewDecoder(r.Body)
为什么 nil.to_s 返回 "",而 nil.inspect 返回 "nil"(当显然 .inspect 使用 .to_s 方法) 最佳答案 "inspect" method of the Obj
运行时间 https://play.golang.org/p/sl12vfS9vP package main import "fmt" func main() { err := run()
我可以将三元条件运算符用于 if {} else {} 语句,如下所示:a ? x : y,还是问题?回答 1 : 回答 2。 是否可以使用这种格式来检查,而不是 a 是 true 还是 false,
无法弄清楚这里出了什么问题。按照设计设置说明,用谷歌搜索我能想到的一切,仍然没有运气。 undefined method `email' for # Extracted source (around
今天写一些 rspec 时,我遇到了一些意外的行为,将日期(和时间)实例与 nil 进行比较。这是一个使用原始 ruby 的示例(没有 Rails 或其他库): user@MacBook-Work
我将数据类型的非零值分配给非可选属性,然后将其分配给可选属性,最后用所述数据实例化图像。当可选项通过 if-let 子句时,它的 block 执行,抛出错误: Fatal error: Unexpec
swift 5.1 。 考虑以下。 let x: Any? = nil let y: Any = x print("x \(x)") // x nil pri
请耐心听我解释这一点, 我正在创建一个聊天室,用户可以在其中上传照片供其他人查看。当用户点击图标时,他们可以将照片上传到我的 Firebase 数据库(这已成功完成,我已经对此进行了测试)。照片的 U
我的 xCode 5.0 目前遇到一个奇怪的问题:一个对象在控制台中似乎为 nil,但同时它可以通过代码访问。 图 1:对象似乎为零 图2:NSLog(@"%@", imgDownloader) 的输
我有一个实现协议(protocol)的类,以便添加 3 个变量。我专门设置了图像变量,调试器显示该变量存在,但是在我打印它时在代码中显示为 nil,我的 if let 语句也认为该变量为 nil。 @
这个问题在这里已经有了答案: Swift 2 ( executeFetchRequest ) : error handling (5 个答案) 关闭 7 年前。 开始在 SWIFT 中学习编码,每次
两者 (not 'nil) 和 (not nil) 求值为T,那么'nil和nil有什么区别吗?那么 ''nil 呢?如果 ''nil 的计算结果为 'nil,那么 ''nil 是否也应该计算为 ni
(if '(nil nil) 'print-true 'print-false) (if '(nil) 'print-true 'print-false) 在上面的代码
这个问题在这里已经有了答案: 关闭 11 年前。 Possible Duplicate: obj.nil? vs. obj == nil 我发现了一个问题 - == nil 和 nil 哪个更好?
此代码段抛出异常: x = nil jsoned = x.to_json puts 'x.to_json=' + jsoned.inspect puts 'back=' + JSON.parse(js
基本上我有一个对象想要传递给前端。我在后端记录了它,它不是空的,但是在前端,当我提醒它时,它变成了空。 ... presentation := &presentationStruct { Obje
我创建了一个自定义错误类型来包装错误,以便在 Golang 中更轻松地进行调试。当有错误要打印时它可以工作,但现在它会引起 panic 。 Demo type Error struct { E
写一个符合我当前问题的标题有点难..我有一个 main() 函数,它使用另一个包 (database_sql) 中的函数。该函数初始化一个全局变量 sql.DB*。初始化后,变量不为nil,但是对于其
我是一名优秀的程序员,十分优秀!