以用户身份将照片发布到Facebook粉丝页面。 iOS Facebook SDK 3.1

时间:2012-10-02 08:47:51

标签: ios facebook-graph-api facebook-ios-sdk


我正在尝试使用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。 尤金。

1 个答案:

答案 0 :(得分:4)

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

  

“您可以通过发布带有publish_stream 和manage_pages权限 [...]

的PAGE_ID /照片的HTTP POST请求,将照片发布到Page's Wall

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