【问题标题】:Graph API Error Domain=com.facebook.sdk Code=5图形 API 错误域 = com.facebook.sdk 代码 = 5
【发布时间】:2014-11-25 03:10:06
【问题描述】:

我知道在这个网站上有很多相同的问题,但仍然找不到原因。我有一个 Facebook 帐户,然后我转到开发人员 Facebook 页面创建一个应用程序,然后我创建一个集成了 Facebook API 的 iOS 应用程序(登录,获取好友列表)。然后,当我使用上述 Facebook 帐户登录以获取可标记的朋友时,一切正常。问题是当我尝试通过另一个 Facebook 帐户登录时,在获取可标记朋友列表时出现错误。这是我的代码:

[FBRequestConnection startWithGraphPath:@"/me/taggable_friends"
                             parameters:nil
                             HTTPMethod:@"GET"
                      completionHandler:^(
                                          FBRequestConnection *connection,
                                          NSDictionary *result,
                                          NSError *error
                                          ) {
                          /* handle the result */
                          NSArray *data = [result objectForKey:@"data"];
                          for (FBGraphObject<FBGraphUser> *friend in data) {
                              NSDictionary *picData = [friend objectForKey:@"picture"];
                              NSDictionary *picDetail = [picData objectForKey:@"data"];

                              [friendsList addObject:[friend name]];
                              [avatarLink addObject:[picDetail objectForKey:@"url"]];
                              NSLog(@"name: %@,Link: %@", [friend name], [picDetail objectForKey:@"url"]);
                          }
                          dispatch_async(dispatch_get_main_queue(), ^{
                              [tblView reloadData];
                          });

                      }];

我也尝试通过代码修复:[FBSession setActiveSession:self.session]; 但没有奏效。错误如下:

  Error Domain=com.facebook.sdk Code=5 "The operation couldn’t be completed. (com.facebook.sdk error 5.)" UserInfo=0x7f9bea9172a0 {com.facebook.sdk:HTTPStatusCode=400, com.facebook.sdk:ErrorSessionKey=<FBSession: 0x7f9be86297f0, state: FBSessionStateOpen, loginHandler: 0x7f9be863d450, appID: 811449395585015, urlSchemeSuffix: , tokenCachingStrategy:<FBSessionTokenCachingStrategy: 0x7f9be8554390>, expirationDate: 2015-01-23 09:55:49 +0000, refreshDate: 2014-11-25 08:53:50 +0000, attemptedRefreshDate: 0000-12-30 00:00:00 +0000, permissions:(
    "public_profile",
    "basic_info",
    email,
    "contact_email",
    "user_friends"
)>, com.facebook.sdk:ParsedJSONResponseKey={
    body =     {
        error =         {
            code = 10;
            message = "(#10) To use taggable_friends on behalf of people who are not admins, developers and testers of your app, your use of this endpoint must be reviewed and approved by Facebook. To submit this feature for review please read our documentation on reviewable features: https://developers.facebook.com/docs/apps/review";
            type = OAuthException;
        };
    };
    code = 400;
    headers =     (
                {
            name = Expires;
            value = "Sat, 01 Jan 2000 00:00:00 GMT";
        },
                {
            name = "Cache-Control";
            value = "no-store";
        },
                {
            name = "Access-Control-Allow-Origin";
            value = "*";
        },
                {
            name = Pragma;
            value = "no-cache";
        },
                {
            name = "Content-Type";
            value = "text/javascript; charset=UTF-8";
        },
                {
            name = "Facebook-API-Version";
            value = "v2.2";
        },
                {
            name = "WWW-Authenticate";
            value = "OAuth \"Facebook Platform\" \"invalid_request\" \"(#10) To use taggable_friends on behalf of people who are not admins, developers and testers of your app, your use of this endpoint must be reviewed and approved by Facebook. To submit this feature for review please read our documentation on reviewable features: https://developers.facebook.com/docs/apps/review\"";
        }
    );
}}

抱歉,日志太长了,但我想确保您获得所有信息,以便帮助我找到原因。任何帮助将不胜感激。

编辑

我可以使用另一个 Facebook 帐户来获取上述好友列表,但在此之前我需要在 Facebook 开发者页面上添加特定帐户作为测试员,以便我可以使用这些帐户登录然后获取朋友列表。现在我有一个问题,当我公开我的应用程序时它没有用,因为我无法在我的配置应用程序上添加一百个用户作为测试人员,并且事件我不知道某人的 Facebook 帐户将使用我的应用程序.那么,我是否需要提交我的应用以供 Facebook 审核,然后其他用户可以在使用我的应用时登录并获取好友列表(无需配置这些用户作为我在 Facebook Developer 上的应用中的测试人员页)?或者有其他方法来解决这个问题?请帮我说清楚。非常感谢!

【问题讨论】:

  • 您不认为:“(#10) 要代表非管理员、开发人员和测试人员使用 taggable_friends,您对该端点的使用必须经过 Facebook 审核和批准. 要提交此功能以供审核,请阅读我们关于可审核功能的文档:developers.facebook.com/docs/apps/review"。能有什么关系吗?
  • 是的,我以前读过它,但不知道在哪里(哪个字段)配置这个。不确定这是问题所在,所以我决定发布这个问题。请详细帮助我.
  • Taggable 如果您不使用 publish_actions 则没有用,所以我假设您正在使用它?如果有,请提交。如果你不是你想做什么?
  • 我也试过public_actions,但登录时出现错误Invalid Scope: public_actions
  • 此处的错误详情:com.facebook.sdk:ErrorLoginFailedReason=com.facebook.sdk:UserLoginOtherError, com.facebook.sdk:ErrorLoginFailedOriginalErrorCode=100, NSLocalizedFailureReason=com.facebook.sdk:UserLoginOtherError, com.facebook.sdk:ErrorSessionKey=&lt;FBSession: 0x7fc6c0c45cb0, state: FBSessionStateClosedLoginFailed, loginHandler: 0x0, appID

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


【解决方案1】:

我的应用也有同样的问题。我向 Facebook 提交了几次。但似乎这个授权只能用于在故事中标记朋友。如果您出于任何其他原因尝试检索用户的完整朋友列表,Facebook 将不会批准您的应用程序,您将只能使用您设置用于测试应用程序的帐户访问朋友。 希望对你有帮助...

【讨论】:

  • 问题不仅仅是无法通过其他帐户标记的方式获取好友列表。尝试通过另一个帐户分享(发布)到 facebook 墙上时,我也收到错误
  • 其他脸书账号分享错误:Domain=com.facebook.sdk Code=5 "The operation couldn’t be completed. (com.facebook.sdk error 5.)" UserInfo=0x7fc64b15efc0 {com.facebook.sdk:HTTPStatusCode=403, com.facebook.sdk:ErrorSessionKey=&lt;FBSession: 0x7fc648da5a10, state: FBSessionStateOpen, loginHandler:
【解决方案2】:

我希望这些信息对您有所帮助:

要代表非管理员使用 taggable_friends, 您的应用程序的开发人员和测试人员,您对此端点的使用必须是 由 Facebook 审查和批准。提交此功能以供审核 请阅读我们关于可审查功能的文档: https://developers.facebook.com/docs/apps/review

【讨论】:

  • 你能详细说明一下吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-12-17
相关资源
最近更新 更多