【问题标题】:FB Api - Unable post a photo to page's album by IOS AppFB Api - 无法通过 IOS 应用将照片发布到页面的相册
【发布时间】:2015-04-10 10:19:38
【问题描述】:

我尝试通过 iOS 应用将照片发布到相册。我希望用户按他们的名字而不是页面所有者将他们的照片上传到粉丝页面的特定相册。 问题类似于下面提到的问题:
Post a photo to an Album on a Facebook fan page without being the admin,
Post a photo to a page for iOS

这是我发布照片的代码

[params setObject:data forKey:@"source"];
FBRequest *request1 = [FBRequest requestWithGraphPath:@"v2.3/<album-id>/photos" 
                                           parameters:[NSDictionary dictionaryWithDictionary:params] 
                                           HTTPMethod:@"POST"];

我在哪里获得权限

- (BOOL)openSessionWithAllowLoginUI:(BOOL)allowLoginUI {
     NSArray *permissions = [[NSArray alloc] initWithObjects:
                        @"publish_actions",
                        @"user_photos",
                        @"email",
                        @"user_likes",
                        @"publish_pages",
                        nil];
     return [FBSession openActiveSessionWithPermissions:permissions
                                      allowLoginUI:YES completionHandler:^(FBSession *session, FBSessionState status, NSError *error) {
                                          switch (status) {
                                              case FBSessionStateOpen:
                                                  break;
                                              case FBSessionStateClosed:
                                                  break;
                                              case FBSessionStateCreated:
                                                  break;
                                              case FBSessionStateCreatedOpening:
                                                  break;
                                              case FBSessionStateClosedLoginFailed:
                                                  break;
                                              case FBSessionStateOpenTokenExtended:
                                                  break;
                                              case FBSessionStateCreatedTokenLoaded:
                                                  break;
                                          }

                                      }];
    }

当我开始请求时,我会收到错误,它说:

code = 200
"error_user_msg" = You don't have permission to edit this photo or album.
"error_user_title" = "Insufficient permissions"                          
"is_transient" = 0                                                       
message = "Permissions error"

我已经阅读了文档,看起来你只需要 publish_actions 这个权限和专辑 ID,然后你就可以在专辑上发帖。但我刚刚收到错误。

当我将相册 ID 更改为页面 ID 时,它会起作用,但照片不属于任何相册。

是我遗漏了什么还是我误解了文件?

【问题讨论】:

    标签: ios facebook


    【解决方案1】:

    您似乎遇到了访问令牌问题。 为了发布到属于某个页面的相册,您需要使用页面访问令牌而不是用户访问令牌: 根据documentation

    页面访问令牌 - 这些访问令牌类似于用户访问令牌,不同之处在于它们向 API 提供读取、写入或修改属于 Facebook 页面的数据的权限。要获取页面访问令牌,您需要首先获取用户访问令牌并请求 manage_pages 权限。获得用户访问令牌后,您就可以通过 Graph API 获取页面访问令牌。

    您可以从here了解如何获取页面令牌。

    【讨论】:

    • 我意识到用户自己无法在页面的相册中发布照片。还是谢谢。
    猜你喜欢
    • 1970-01-01
    • 2012-10-12
    • 1970-01-01
    • 2012-01-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多