我使用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;
};
}
访问令牌不应该由框架处理吗?我发现了一篇类似的帖子,通过新的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。