将照片上传到 Facebook 粉丝页面

Posted

技术标签:

【中文标题】将照片上传到 Facebook 粉丝页面【英文标题】:Upload photo to a facebook fan page 【发布时间】:2011-01-31 07:26:46 【问题描述】:

这是我用来将照片上传到我的粉丝页面的代码关键点

_permissions =  [[NSArray arrayWithObjects:@"read_stream", @"offline_access", @"publish_stream", @"manage_pages", @"user_photos", @"friends_photos",nil] retain]; 

[_facebook requestWithGraphpath:@"/me/accounts" andDelegate:self];

我从结果中解析页面 access_token 并将其用于下一个请求模拟页面,我可以成功地从结果中解析出页面所有者信息,所以我猜我的 access_token 没问题

 - (IBAction)getUserInfo:(id)sender 
            _facebook.accessToken = self.pageAccessToken;
          [_facebook requestWithGraphPath:@"me" andDelegate:self];
        

但如果我尝试像这样将照片上传到我的页面相册:

- (IBAction)uploadPhoto:(id)sender 

          NSString *path = @"http://dl.dropbox.com/u/xxxxxxx/Icon.png";
          NSURL *url = [NSURL URLWithString:path];
          NSData *data = [NSData dataWithContentsOfURL:url];
          UIImage *img  = [[UIImage alloc] initWithData:data];

          NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
                                         img, @"picture",
                                         nil];



            _facebook.accessToken = self.pageAccessToken;


          [_facebook requestWithMethodName:@"photos.upload"
                                 andParams:params
                             andHttpMethod:@"POST"
                               andDelegate:self];

          //or like
          // [_facebook requestWithGraphPath:@"/me/photos" ...
          // [_facebook requestWithGraphPath:@"/<PAGE_ID>/photos" ...
          // [_facebook requestWithGraphPath:@"/<ALBUM_ID>/photos" ...

          [img release];
        

我总是出错:

Error Domain=facebookErrDomain Code=190 "The operation couldn’t be completed. (facebookErrDomain error 190.)" UserInfo=0x15fca0 request_args=(

key = method;
value = "photos.upload";
,

key = sdk;
value = ios;
,

key = "sdk_version";
value = 2;
,

key = "access_token";
value = "1939755xx612731|8ceab6c65ce0194d079f41ef-1068726246|3x2697618282|xdSRakxsdjezx9N1dnr9cRe6ICk";
,

key = format;
value = json;

), error_msg=Invalid OAuth 2.0 Access Token, error_code=190


(注意:我稍微修改了 access_token 只是为了保护)

【问题讨论】:

这可能是 Facebook 的权限问题吗?您是否有权发布/上传照片? 好吧,我想是的。如果我模拟页面,我猜页面默认具有该权限 看起来很像***.com/questions/4259573/…的副本 【参考方案1】:

嘿 jackiedigital,我这个“manage_pages”权限只与 Graph API 兼容。 查看此页面上的 Last 权限:http://developers.facebook.com/docs/authentication/permissions/

【讨论】:

以上是关于将照片上传到 Facebook 粉丝页面的主要内容,如果未能解决你的问题,请参考以下文章

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

Facebook 选项卡应用程序无法访问粉丝专页的照片

iOS:上传到 Facebook 的照片并不总是上传

在 iPhone 应用程序中,如何将照片发布到 Facebook 粉丝页面。在它之前如何喜欢它?使用 facebook-ios-sdk

如何通过 iphone 应用程序将照片/图像上传到 facebook

将照片上传到 facebook 群组 Graph API