Facebook Publish_action无法发布



嗨,我正在尝试从我的iOS应用程序在Facebook上发布,然后它才能正常工作。现在我使用最新的 SDK 和以下代码。

-(无效)身份验证{

   if (FBSession.activeSession.isOpen) {
        [self promptUserWithAccountNameForUploadPhoto];
     } else {
        NSArray *permissions = [[NSArray alloc] initWithObjects:
                            @"publish_actions",
                            nil];  // Tried publish_stream too
      [FBSession openActiveSessionWithPermissions:permissions
                                   allowLoginUI:YES
                              completionHandler:^(FBSession *session,
                                                  FBSessionState status,
                                                  NSError *error) {
                                  // if login fails for any reason, we alert
                                  if (error) {
                                      // show error to user.

                                  } else if (FB_ISSESSIONOPENWITHSTATE(status)) {

                                      [self promptUserWithAccountNameForUploadPhoto];

                                   }
                               }];

               }
     }

但是,当它启动Facebook应用程序并完成登录时,它不会通知用户"代表您发布",而是通知我的应用程序需要您的个人资料详细信息。

当我尝试像下面这样发布时

  -(void)promptUserWithAccountNameForUploadPhoto {
        [[FBRequest requestForMe] startWithCompletionHandler:
 ^(FBRequestConnection *connection, NSDictionary<FBGraphUser> *user, NSError *error) {
     if (!error) {

         NSString * msgStr = [NSString stringWithFormat:@"I have added a new Trip to %@",place];
         NSString *imgStr = [NSString stringWithFormat:@"%@assets/upload/flags/%@-213x142.png",appDelegate.ServerURL,country];

         NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
                                        @"Sharing Tutorial", @"name",
                                        @"Build great social apps and get more installs.", @"caption",
                                        @"Allow your users to share stories on Facebook from your app using the iOS SDK.", @"description",
                                               @"https://developers.facebook.com/docs/ios/share/", @"link",
                                        @"http://i.imgur.com/g3Qc1HN.png", @"picture",
                        [FBRequestConnection startWithGraphPath:@"/me/feed"
                                      parameters:params
                                      HTTPMethod:@"POST"
                               completionHandler:^(FBRequestConnection *connection, id result, NSError *error) {
                                   if (!error) {
                                       // Link posted successfully to Facebook
                                       NSLog(@"result: %@", result);
                                   } else {
                                       NSLog(@"%@", error.description);
                                   }
                               }];
                   }
               }];
           }

错误来了——消息 ="(#200) 用户尚未授权应用程序执行此操作";

error code看起来你没有permission for share

在此处查看facebook error code

有关获取sharing permission请参阅此页面

当您使用publish_actions权限而不进行审查时,会引发此错误。出于测试目的,您始终可以在 developers.facebook.com 中 MyApp 的"角色"列中创建一个测试用户,然后使用它。

最新更新