ACAccount Facebook:必须使用活动访问令牌来查询有关当前用户的信息



我使用iOS 6社交框架访问用户的Facebook数据。我正在尝试使用ACAccountSLRequest在我的应用程序中获得当前用户的赞。我有一个名为facebookACAccount类型的有效Facebook帐户参考,我正试图通过这种方式获得用户的点赞:

SLRequest *req = [SLRequest requestForServiceType:SLServiceTypeFacebook requestMethod:SLRequestMethodGET URL:url parameters:nil];
req.account = facebook;
[req performRequestWithHandler:^(NSData *responseData, NSHTTPURLResponse *urlResponse, NSError *error) {
//my handler code.
}

其中url@"https://graph.facebook.com/me/likes?fields=name";在我的处理程序中,我得到的响应是:

{
error =     {
code = 2500;
message = "An active access token must be used to query information about the current user.";
type = OAuthException;
};
}

访问令牌不应该由框架处理吗?我发现了一篇类似的帖子,通过新的iOS6社交框架查询Facebook用户数据,但将访问令牌参数硬编码到URL中是没有意义的,因为从逻辑上讲,访问令牌/登录检查应该由框架自动处理。在我看到的所有例子中,没有人手动使用访问令牌:

http://damir.me/posts/facebook-authentication-in-ios-6

iOS 6 Facebook发布过程以";remote_app_id与存储的id不匹配";错误等

我使用的是仅iOS6的方法和内置的社交框架,而不是使用Facebook SDK。我是不是错过了什么?

谢谢,

可以。

您需要保留对帐户来源的ACAccountStore的强引用。如果商店被解除分配,看起来会导致此问题。

尝试在实际设备上运行,而不是在模拟器上运行。这对我有效。

确保您的捆绑包id已输入到Facebook应用程序的配置中。您的dev/debug构建可能有一个不同的bundle id。

最新更新