1

我正在尝试访问 Facebook 以将图像从 iOS 应用程序发布到页面。但到目前为止,我什至无法获得它给我所需的权限。

我做了很多搜索,包括iOS 6 Facebook 发布过程最终出现“remote_app_id 与存储的 id 不匹配”错误Facebook Graph Api 粉丝页面照片上传 (IOS),但这些或其他帖子中的任何内容都无法解决这个问题。

这是代码的身份验证位:

ACAccountType *accountType = [accountStore accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierFacebook];

NSDictionary *options = @{
                          ACFacebookAppIdKey: @"xxxxxxxxxxxxxx",
                         ACFacebookPermissionsKey: @[@"manage_pages"],
                          ACFacebookAudienceKey: ACFacebookAudienceEveryone
                          };

[accountStore requestAccessToAccountsWithType:accountType options:options completion:^(BOOL granted, NSError *error)
 {
     if (granted)
     {
         NSDictionary *options = @{
                                   ACFacebookAppIdKey: @"xxxxxxxxxxxxxx",
                                   ACFacebookPermissionsKey: @[@"photo_upload"],
                                   ACFacebookAudienceKey: ACFacebookAudienceEveryone
                                   };

         [accountStore requestAccessToAccountsWithType:accountType options:options completion:^(BOOL granted, NSError *error)
          {
              if (granted)
              {
                   // then do the upload - but it never gets here
              }
              else
              {
                   // handle error - this is where it ends up
              }
          }];
     }
     else
     {
          // handle error
     }
 }];

正如其他一些帖子所建议的那样,我在写入权限之前首先请求读取权限。它很好地获得了 manage_pages 权限。

当我请求 photo_upload 权限时,会弹出 Facebook 权限警报,要求我确认它可以代表我发布,然后我单击“确定”-但该权限请求块返回,并且已授予设置为 FALSE。

我当时收到的完整错误消息是“Facebook 服务器无法满足此访问请求:无效权限:photo_upload”

在 Facebook 应用程序网站上,我认为我已经完成了我需要做的所有事情:我创建了我的应用程序并获得了一个 AppId,将 iOS 添加为平台并将 BundleId 设置为 iOS 应用程序正在使用的同一个,并在高级选项卡上将其设置为本机应用程序。

有没有人知道我做错了什么?

4

1 回答 1

0

用作publish_actions您的许可。新的 Facebook API 建议publish_actionspublish_stream适用时使用。 publish_stream当您想要添加以下功能时,您应该包括在朋友的提要中发布、发布问题、创建笔记以及向活动或群组发布内容。

于 2014-08-05T15:13:21.640 回答