如何使用 Facebook iOS SDK 3.14.1 以编程方式创建 Facebook 测试用户

Posted

技术标签:

【中文标题】如何使用 Facebook iOS SDK 3.14.1 以编程方式创建 Facebook 测试用户【英文标题】:How to create Facebook test users programmatically using Facebook iOS SDK 3.14.1 【发布时间】:2014-06-04 16:44:17 【问题描述】:

我们正在尝试根据他们的网站使用 Facebook ios SDK 3.14.1 创建 Facebook 测试用户:https://developers.facebook.com/docs/graph-api/reference/v2.0/app/accounts/test-users

这是我们的代码:

NSString *fbAccessToken = [NSString stringWithFormat:@"%@",FBSession.activeSession.accessTokenData];

NSDictionary *params = [NSDictionary dictionaryWithObjectsAndKeys:
                        @"true", @"installed",
                        fbAccessToken, @"owner_access_token",
                        nil
                        ];



NSString *path = [NSString stringWithFormat:@"/%@/accounts/test-users", kFacebookID];

/* make the API call */
[FBRequestConnection startWithGraphpath:path        ///app-id/accounts/test-users"
                             parameters:nil
                             HTTPMethod:@"POST"
                      completionHandler:^(
                                          FBRequestConnection *connection,
                                          id result,
                                          NSError *error
                                          )
                      

                          if (result  && !error)
                          
                              NSLog(@"Test-User created successfully: %@", result);
                          
                          else
                          
                              NSLog(@"Error creating test-user: %@", error);
                              NSLog(@"Result Error: %@", result);
                          

                      ];

当我们运行它时,我们会收到以下错误:

    error =         
        code = 15;
        message = "(#15) This method must be called with an app access_token.";
        type = OAuthException;
    ;

我们也尝试过不使用参数 owner_access_token,但发生了同样的错误。 我们如何使用 Facebook iOS SDK 以编程方式创建 Facebook 测试用户?

【问题讨论】:

你不应该。您必须使用应用访问令牌,并且您永远不应该将应用访问令牌放入应用中 【参考方案1】:

解决方案:

您应该使用应用程序令牌,而不是使用活动会话访问令牌。 只需将 FBSession.activeSession.accessTokenData 替换为您的 App Token。

可以在此处找到应用令牌: https://developers.facebook.com/tools/accesstoken/

根据上面的 WizKid 评论,这仅用于测试目的。

【讨论】:

以上是关于如何使用 Facebook iOS SDK 3.14.1 以编程方式创建 Facebook 测试用户的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 FB SDK 3.1 和 iOS<6 预览 facebook 状态更新?

如何在 facebook iOS SDK 3.1 中发布到朋友的墙上?

使用 Facebook for iOS SDK 3.1 如何发布到朋友的时间线避免不推荐使用的标题

使用 ios facebook SDK 3.1 在墙上发布

Facebook iOS SDK 3.1 - 发送私人消息

使用 Facebook SDK 3.1 防止 iOS 本机登录