【发布时间】: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 的权限问题吗?您是否有权发布/上传照片?
-
好吧,我想是的。如果我模拟页面,我猜页面默认具有该权限
标签: ios facebook facebook-ios-sdk