1

私はfacebook_skd_3.1(Xcode ios 4.5)を使用しています。FBFriendPickerViewControllerを呼び出して友達リストを取得し、完了ボタンをクリックすると
、選択した友達の壁にメッセージを投稿しようとしましたが、このエラーが発生しました:-警告: View Controllerから却下しようとしていますプレゼンテーションまたは却下の進行中!
2012-12-06 19:37:09.187 ........プロジェクト [5474:19a03] エラー: HTTP ステータス コード: 403

アラート ビューのエラー

 error =Error Domain=com.facebook.sdk code=5" ..........
 message = "(#200)the user hasn't authorized the application to perform this action";
 type = OAuthException
 };
 };

 code=403;

 com.acebook.sdk:HTTPStatuscode=403}

コード:-

  -(void)facebookViewControllerDoneWasPressed:(id)sender {
  NSString* userid;

  for (id<FBGraphUser> user in self.friendPickerController.selection)
    {
        NSLog(@"\nuser=%@\n", user);
     userid = user.id;


    }

  NSMutableDictionary* dictaram = [[NSMutableDictionary alloc]
    initWithObjectsAndKeys:@"like this!", @"message", nil];
  [FBRequestConnection startWithGraphPath:[NSString stringWithFormat:@"%@/feed", userid] 
       parameters:params HTTPMethod:@"POST"  
  completionHandler:^(FBRequestConnection *connection, id result, NSError *error)
  {

      UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Shared"
      message:[NSString     stringWithFormat:@ %@! error=%@", fbUserName, error]
                                                        delegate:nil
                                              cancelButtonTitle:@"OK"
                                               otherButtonTitles:nil];
      [alertView show];
   }
   ];

   [self dismissModalViewControllerAnimated:YES];

ここに画像の説明を入力

アクセス許可が必要ですか、それともコーディング エラーがありますか。助けてください。

前もって感謝します。

4

2 に答える 2

0

デリゲートで次のようにアクセス許可を再承認することで、セッションのアクセス許可を読み取ったため、投稿には機能しなかったことがわかりました。ButtonAction に次のコードを記述すると、適切な出力が得られます。

 NSArray *permissions =[NSArray arrayWithObjects:@"publish_actions",@"publish_stream",@"manage_friendlists", nil];

[[FBSession activeSession] reauthorizeWithPublishPermissions:permissions defaultAudience:FBSessionDefaultAudienceFriends
                                           completionHandler:^(FBSession *session, NSError *error) {
                                               /* handle success + failure in block */
                                           }];
于 2012-12-13T11:24:35.603 に答える
0

しばらくしてからViewControllerを閉じてください。

于 2012-12-10T15:21:51.510 に答える