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

今から友達の壁に投稿することはできません...

GraphAPIを介して友達の壁に投稿する機能を削除するGraphAPIを介してユーザーの友達の壁に投稿する機能を削除します。具体的には、[user_id]がセッションユーザーと異なる[user_id] / feedに対する投稿、またはtarget_idユーザーがセッションユーザーと異なるstream.publish呼び出しは失敗します。ユーザーが友達のタイムラインに投稿できるようにする場合は、フィードダイアログを呼び出します。ユーザーの言及のタグ付けまたはアクションのタグ付けを介して友人を含むストーリーは、友人のタイムラインに表示されます(友人がタグを承認した場合)。詳細については、このブログ投稿を参照してください。

これを確認してください...Facebook開発者ポータル https://developers.facebook.com/roadmap/completed-changes/#february-2013で言及されている変更

于 2013-03-12T07:24:04.903 に答える
0

投稿されたリンク@viswaから私たちは読むことができます

GraphAPIを介して友達の壁に投稿する機能を削除するGraphAPIを介してユーザーの友達の壁に投稿する機能を削除します。具体的には、[user_id]がセッションユーザーと異なる[user_id] / feedに対する投稿、またはtarget_idユーザーがセッションユーザーと異なるstream.publish呼び出しは失敗します。ユーザーが友達のタイムラインに投稿できるようにする場合は、フィードダイアログを呼び出します。ユーザーの言及のタグ付けまたはアクションのタグ付けを介して友人を含むストーリーは、友人のタイムラインに表示されます(友人がタグを承認した場合)。詳細については、このブログ投稿を参照してください。

ユーザーが友達のタイムラインに投稿できるようにする場合は、フィードダイアログを呼び出します。

于 2014-03-25T04:58:43.383 に答える