0

我有一个需要发布流权限的应用程序。我设法使用了 openActionSessionWithReadPermission 并打开了 Facebook 会话,但是在调用 reauthorizedWithPublishPermission 时出现如下错误:

error = 操作无法完成。(com.facebook.sdk 错误 2。)

这是我为执行授权过程而编写的代码。

return [FBSession openActiveSessionWithReadPermissions:[NSArray arrayWithObjects: @"user_photos", nil]
                   allowLoginUI:allowLoginUI
                   completionHandler:^(FBSession *session, FBSessionState state, NSError *error) {

                   switch (state)
                   {
                        case FBSessionStateCreated:
                        case FBSessionStateCreatedTokenLoaded:
                        case FBSessionStateOpen:
                             [[FBSession activeSession]  reauthorizeWithPublishPermissions:[NSArray arrayWithObjects:@"publish_actions", nil]                                                                  defaultAudience:FBSessionDefaultAudienceFriends
                                                            completionHandler:^(FBSession *session, NSError *error) {
                                                            [self sessionStateChanged:session
                                                                                state:state
                                                                                error:error
                                                                                success:success failure:failure];
                                                            }];
                                                        break;

                                                   }
                                                }];

我有一个代码只使用 openActiveSessionWithPublishPermission 但仍然有相同的结果。

错误是什么意思?

此外,如果我使用 openActiveSessionWithPublishPermission,并且没有通过 publish_stream 权限,我可以设法打开会话,但在 Facebook 网站上的应用程序设置下,我不会看到“此应用程序也可以 - 代表您发布”设置的选项。但是如果我添加它,就会出现同样的问题。

4

1 回答 1

0

您需要像这样声明权限

[NSArray arrayWithObjects: @"user_photos", @"publish_stream",nil]
于 2013-02-11T06:22:37.077 回答