0
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] ;
         }
    }];
}

当我更改为时,我可以使用- (void) postImageToFB功能在自己的墙上发帖[NSString stringWithFormat:@"%@/photos",friendName]@"me/photos"

但是我不能在我朋友的墙上发帖,可能是权限不对或者有一些我不知道的问题?

我收到了这些错误

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}
4

2 回答 2

0

从现在开始,您无法发布到朋友墙...

删除通过 Graph API 向朋友墙发帖的功能 我们将删除通过 Graph API 向用户朋友墙发帖的功能。具体来说,针对 [user_id]/feed 的 [user_id] 与会话用户不同的帖子,或 target_id 用户与会话用户不同的 stream.publish 调用将失败。如果您想允许人们发布到他们朋友的时间线,请调用提要对话框。通过用户提及标签或动作标签包含朋友的故事将显示在朋友的时间线上(假设朋友批准标签)。有关详细信息,请参阅此博客文章。

检查这个...在 facebook 开发人员门户中提到的更改 https://developers.facebook.com/roadmap/completed-changes/#february-2013

于 2013-03-12T07:24:04.903 回答
0

从发布的链接@viswa,我们可以阅读

删除通过 Graph API 向朋友墙发帖的功能 我们将删除通过 Graph API 向用户朋友墙发帖的功能。具体来说,针对 [user_id]/feed 的 [user_id] 与会话用户不同的帖子,或 target_id 用户与会话用户不同的 stream.publish 调用将失败。如果您想允许人们发布到他们朋友的时间线,请调用提要对话框。通过用户提及标签或动作标签包含朋友的故事将显示在朋友的时间线上(假设朋友批准标签)。有关详细信息,请参阅此博客文章。

如果您想允许人们发布到他们朋友的时间线,请调用提要对话框

于 2014-03-25T04:58:43.383 回答