1

アプリケーションに代わってユーザーウォールに投稿しようとしています。

これが私がしていることです。

まず、Facebook Connectからユーザーaccess_tokenを取得し、次にextended access token次の呼び出しを使用してを受信します

https://graph.facebook.com/oauth/access_token?             
  client_id=APP_ID&
  client_secret=APP_SECRET&
  grant_type=fb_exchange_token&
  fb_exchange_token=EXISTING_ACCESS_TOKEN 

次のコードで友達の壁に投稿しようとすると。

        var params = {};
        params['message'] = 'Check out this new gag I\'ve posted about you surely it will piss you off :p';
        params['name'] = 'Gagsterz';
        params['description'] = 'If you also want to have fun on gagster join in now.';
        params['link'] = 'http://localhost/php/backup/View/Profile.php';
        params['picture'] = thumbpath;
        params['caption'] = 'Caption';


        FB.api('/'+victimid+'/feed?access_token="ACCESS_TOKEN", 'post', params, function(response) {
          if (!response || response.error) {
             var json = $.parseJSON(response.error);
             alert(json.code);
        alert(JSON.stringify(response.error));
          } else {
            alert('Published to stream - you might want to delete it now!');
          }
        });

次のエラーが発生します。

 the target user has not authorized this action facebook graph api
 with code 200.

パーミッションpublish_streamを取得し、パーミッションを元に戻してからログインして再度パーミッションを付与することでテストしましたが、ログインウィンドウでパーミッションが要求されpost on behalfますが、初めてアクセストークンを取得するときにパーミッションを取得しています。拡張アクセストークンの許可を再度取得する必要がありますか?はいの場合、その方法は?

4

1 に答える 1

1

権限を確認してください。ウォールに投稿する権限がありますか。デフォルトでは、読み取り権限しかありません。

これをチェックしてくださいhttp://developers.facebook.com/docs/reference/rest/stream.publish/

于 2012-12-03T14:07:18.547 に答える