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

Ios6 ACAccount Facebook:必须使用活动访问令牌来查询有关当前用户的信息,ios6,facebook-access-token,social-framework,acaccount,Ios6,Facebook Access Token,Social Framework,Acaccount,我使用iOS 6社交框架访问用户的Facebook数据。我正在尝试使用ACAccount和SLRequest在我的应用程序中获得当前用户的喜爱。我有一个名为Facebook的ACAccount类型的有效Facebook帐户引用,我试图通过以下方式获取用户的喜好: SLRequest *req = [SLRequest requestForServiceType:SLServiceTypeFacebook requestMethod:SLRequestMethodGET URL:url param

我使用iOS 6社交框架访问用户的Facebook数据。我正在尝试使用
ACAccount
SLRequest
在我的应用程序中获得当前用户的喜爱。我有一个名为
Facebook
ACAccount
类型的有效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;
};
}
框架不应该处理访问令牌吗?我发现了一篇类似的文章,但将访问令牌参数硬编码到URL中没有意义,因为从逻辑上讲,访问令牌/登录检查应该由框架自动处理。在我所看到的所有示例中,没有人手动使用访问令牌:

等等

我对内置的社交框架使用的是iOS6-only方法,而不是Facebook SDK。我错过什么了吗

谢谢


可以。

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

请确保将您的捆绑包id输入到Facebook应用程序的配置中。您的开发/调试版本可能有不同的bundle id。

您需要保留对帐户来源的ACAccountStore的强引用。如果商店被解约,看起来是它导致了这个问题。

我也遇到了同样的问题。你是如何解决这个问题的?@Joãonnes说实话,我不记得了。可能我最终使用了Facebook SDK。@CanPoyrazoğlu hm。。两小时后也这么做了,这有点疯狂,但就是这样。如果我将AccountStore作为属性,有什么问题吗?在我将它设置为属性后,它工作得非常好。谢谢@Ethan