0


我正在尝试使用 Facebook SDK 3.1 将用户的照片发布到 Facebook 页面。
当我使用以下代码创建上传图片请求时:

FBRequest *uploadPhotoRequest = [FBRequest requestWithGraphPath:@"/${FAN_PAGE_ID}/photos/" parameters:[NSDictionary dictionaryWithObjectsAndKeys:self.imageToShare, @"source", nil] HTTPMethod:@"POST"];

图片直接进入用户的时间线,而不是页面的时间线。

但是当我发布链接时:

FBRequest *request = [FBRequest requestWithGraphPath:@"/${FAN_PAGE_ID}/feed/" parameters:[NSDictionary dictionaryWithObjectsAndKeys:@"http://stackoverflow.com", @"link", nil] HTTPMethod:@"POST"];

将帖子正确链接到 Facebook 页面。

要打开一个会话,我正在使用代码:

[FBSession openActiveSessionWithPermissions:[NSArray arrayWithObjects:@"publish_stream", @"photo_upload", nil]
                               allowLoginUI:YES
                          completionHandler:^(FBSession *session, FBSessionState state, NSError *error) {
...
                          }];

我知道这openActiveSessionWithPermissions已被弃用,将其用于 iOS 5 和 6 上的相同 SSO 行为。

更新

或者是否可以上传带有访问令牌替换的照片?使用页面访问令牌而不是用户访问令牌。如果是,如何在不强制用户以页面管理员身份登录的情况下以编程方式获取页面访问令牌?

你会建议我怎么做?
谢谢!

BR。尤金。

4

1 回答 1

4

https://developers.facebook.com/docs/reference/api/page/#photos说,

“您可以通过向具有 publish_stream和 manage_pages 权限的 PAGE_ID/photos 发出 HTTP POST 请求来将照片发布到 Page's Wall [...]”</p>

听起来“普通”用户不允许通过 API 将图像发布到页面的墙上。

于 2012-10-02T11:18:31.333 回答