【问题标题】:Why can't I access the facebook friends list after reopening a session in ios为什么在ios中重新打开会话后无法访问facebook好友列表
【发布时间】:2012-11-20 22:35:00
【问题描述】:

我正在升级到适用于 ios 的 facebook 3.0 sdk。事情进展顺利,直到我在重新启动应用程序后尝试打开现有会话。我正在尝试访问 facebook 用户的好友列表。

if ([[FBSession activeSession] isOpen]) {
    [request startWithCompletionHandler:^(FBRequestConnection *connection, id result, NSError *error) {
        //do something here
    }];
}else{
    [[self session] openWithCompletionHandler:^(FBSession *session, FBSessionState status, NSError *error) {
        if ([self isValid]) {
            [request startWithCompletionHandler:^(FBRequestConnection *connection, id result, NSError *error) {
                //log this error we always get
                NSLog(@"%@",error);
                //do something else
            }];
        }
    }];
}

但是我得到了这个错误:

Error Domain=com.facebook.sdk Code=5 "The operation couldn’t be completed. (com.facebook.sdk error 5.)" UserInfo=0x1d92ff40 {com.facebook.sdk:ParsedJSONResponseKey={
  body =     {
    error =         {
        code = 2500;
        message = "An active access token must be used to query information about the current user.";
        type = OAuthException;
    };
  };
  code = 400;
}, com.facebook.sdk:HTTPStatusCode=400}

我发现如果我使用 FBSession reauthorize 方法,它可以让我完成请求而不会出错,但这也意味着我必须在每次重新启动应用程序时显示 UI 或切换应用程序,这是不可接受的。关于我应该做些什么不同的任何建议?

【问题讨论】:

    标签: objective-c ios xcode facebook facebook-graph-api


    【解决方案1】:

    登录后我没有在请求上设置会话。简单的错误。

    [[self session] openWithCompletionHandler:^(FBSession *session, FBSessionState status, NSError *error) {
        if ([self isValid]) {
            //I should have been doing this
            request.session = [FBSession activeSession];
            [request startWithCompletionHandler:^(FBRequestConnection *connection, id result, NSError *error) {
                //log this error we always get
                NSLog(@"%@",error);
                //do something else
            }];
        }
    }];
    

    【讨论】:

    • 谢谢,如果没有你的帮助,我永远不会解决这个问题! :)
    • 什么是[self session]方法?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多