我正在尝试在Facebook上发布/分享图片。首先,我使用以下命令获取发布权限:
NSArray *permissionsNeeded = @[@"publish_actions"];
[FBRequestConnection startWithGraphPath:@"/me/permissions"
completionHandler:^(FBRequestConnection *connection, id result, NSError *error) {
if (!error){
NSDictionary *currentPermissions= [(NSArray *)[result data] objectAtIndex:0];
NSMutableArray *requestPermissions = [[NSMutableArray alloc] initWithArray:@[]];
for (NSString *permission in permissionsNeeded){
if (![currentPermissions objectForKey:permission]){
[requestPermissions addObject:permission];
}
}
if ([requestPermissions count] > 0){
[FBSession.activeSession requestNewPublishPermissions:requestPermissions
defaultAudience:FBSessionDefaultAudienceFriends
completionHandler:^(FBSession *session, NSError *error) {
if (!error) {
[self shareDataOnFacebook];
} else {
NSLog(@"%@", error.description);
}
}];
} else {
[self shareDataOnFacebook];
}
} else {
NSLog(@"%@", error.description);
}
}];
如果我NSLog会话,我得到这个:
FBSessionStateOpenTokenExtended,loginHandler:0x15eab870,appID:719202928131376,urlSchemeSuffix:,tokenCachingStrategy :, expirationDate:4001-01-01 00:00:00 +0000,refreshDate:2014-05-10 12:57:41 +0000,trypedRefreshDate:0001- 12-30 00:00:00 +0000,权限:(状态,权限,“发布动作”)>
现在,如果我尝试使用以下方式发布图片:
NSDictionary *params = [NSDictionary dictionaryWithObjectsAndKeys:
@"{image-url}", @"url",
nil
];
/* make the API call */
[FBRequestConnection startWithGraphPath:@"/me/photos"
parameters:params
HTTPMethod:@"POST"
completionHandler:^(
FBRequestConnection *connection,
id result,
NSError *error
) {
/* handle the result */
}];
我收到错误消息:
错误Domain = com.facebook.sdk代码= 5“操作无法完成。(com.facebook.sdk错误5。)” UserInfo = 0x15e4f370 {com.facebook.sdk:HTTPStatusCode = 403,com.facebook.sdk :ParsedJSONResponseKey = {正文= {错误= {代码= 200; message =“(#200)权限错误”; 类型= OAuthException; }; }; 代码= 403; },com.facebook.sdk:ErrorSessionKey =,到期日期:4001-01-01 00:00:00 +0000,刷新日期:2014-05-10 12:57:41 + 0000,tryedRefreshDate:0001-12-30 00: 00:00 +0000,权限:(状态,权限,“发布动作”)>}
即使,当我再次获得许可时,“ publish_actions”也不在列表中。请指导我我在做什么错。
还有其他共享/发布带有描述的图片的方法(没有任何链接,这是“共享”对话框所必需的)?
敲了几个小时后,我想通了。看来您需要在developers.facebook.com上的“状态和评论”下进入应用程序设置,并请求发布应用程序的权限。如果您只需要测试,则可以转到“角色”并添加要尝试以其应用程序开发人员身份登录的Facebook用户。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句