iPhone - 如何在朋友的 Facebook 墙上发布图像
Posted
技术标签:
【中文标题】iPhone - 如何在朋友的 Facebook 墙上发布图像【英文标题】:iPhone - How to post image on friend's facebook wall 【发布时间】:2013-03-12 07:13:26 【问题描述】:if ([FBSession.activeSession.permissions indexOfObject:@"publish_actions"] == NSNotFound)
// No permissions found in session, ask for it
[FBSession.activeSession reauthorizeWithPublishPermissions:[NSArray arrayWithObject:@"publish_actions"]
defaultAudience:FBSessionDefaultAudienceFriends
completionHandler:^(FBSession *session, NSError *error)
// If permissions granted, publish the story
if (!error)
[self postImageToFB] ;
];
// If permissions present, publish the story
else
[self postImageToFB] ;
- (void) postImageToFB
NSData* imageData = UIImageJPEGRepresentation(self.image, 90);
NSMutableDictionary * params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
@"test", @"message",
imageData, @"source",
nil];
[FBRequestConnection startWithGraphpath:[NSString stringWithFormat:@"%@/photos",friendName]
parameters:params
HTTPMethod:@"POST"
completionHandler:^(FBRequestConnection *connection, id result, NSError *error)
NSLog(@"%@",error) ;
if( error == NULL )
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:nil
message:@"Post sucessed!!"
delegate:nil
cancelButtonTitle:@"OK"
otherButtonTitles:nil] ;
[alert show] ;
];
当我将[NSString stringWithFormat:@"%@/photos",friendName]
更改为@"me/photos"
时,我可以使用- (void) postImageToFB
功能在自己的墙上发帖
但是我不能在朋友的墙上发帖,可能是权限不对或者有一些我不知道的问题?
我收到了这些错误
Error Domain=com.facebook.sdk Code=5 "The operation couldn’t be completed. (com.facebook.sdk error 5.)" UserInfo=0xc0a7320 com.facebook.sdk:ErrorInnerErrorKey=Error
Domain=NSURLErrorDomain Code=-1000 "bad URL" UserInfo=0xc001ea0 NSUnderlyingError=0xaa45270 "bad URL", NSLocalizedDescription=bad URL, com.facebook.sdk:HTTPStatusCode=200
【问题讨论】:
【参考方案1】:从现在开始你不能发布到朋友墙...
删除通过 Graph API 向朋友墙发帖的功能 我们将删除通过 Graph API 向用户朋友墙发帖的功能。具体来说,针对 [user_id]/feed 的 [user_id] 与会话用户不同的帖子,或 target_id 用户与会话用户不同的 stream.publish 调用将失败。如果您想允许人们发布到他们朋友的时间线,请调用提要对话框。通过用户提及标记或动作标记包含朋友的故事将显示在朋友的时间线上(假设朋友批准标签)。有关详细信息,请参阅此博文。
检查这个...在 facebook 开发者门户中提到的更改 https://developers.facebook.com/roadmap/completed-changes/#february-2013
【讨论】:
【参考方案2】:从@viswa 发布的链接中我们可以阅读
移除通过 Graph API 向朋友墙发帖的功能 我们将 删除通过图表发布到用户朋友墙上的功能 API。具体来说,针对 [user_id]/feed 的帖子 [user_id] 是 不同于会话用户,或者 stream.publish 调用 target_id 用户与会话用户不同,会失败。如果你 想要允许人们发布到他们朋友的时间线,调用 饲料对话框。通过用户提及标签包含朋友的故事或 动作标记将显示在朋友的时间线上(假设 朋友批准标签)。有关详细信息,请参阅此博文。
如果您想允许人们发布到他们朋友的时间线,请调用feed dialog。
【讨论】:
以上是关于iPhone - 如何在朋友的 Facebook 墙上发布图像的主要内容,如果未能解决你的问题,请参考以下文章
如何邀请朋友参加活动? iPhone中的Facebook Graph API
如果目标 iPhone 应用在 App Store 上不可用,如何测试 Facebook SDK 的 apprequest?