1

アプリケーションでFacebookAPIを使用して、壁にメッセージを投稿しています。すべてが正常に機能しますが、並べ替え時間間隔でメッセージを複数回投稿すると、ウォールポストがウォールに表示されません。投稿中に例外が発生することはないと確信しています。

アプリケーションで「offline-access」権限を使用しています。

コード:

public static class UpdateWalls extends AsyncTask<String, Integer, Boolean> {
        private Context context;
        private String post;

        public UpdateWalls(Context context, String post) {
            this.context = context;
            this.post = post; 
        }

        @Override
        protected Boolean doInBackground(String... strings) {

            FacebookConnector facebookConnector = new FacebookConnector(Constants.FACEBOOK_APPID, context, Constants.FACEBOOK_PERMISSION);
            try {
                facebookConnector.postMessageOnWall(this.post);
            } catch (Exception e) {
                return false;
            }           
            return true;
        }   
    }

FacebookConnector.postMessageOnWall()

public void postMessageOnWall(String msg) {
        if (facebook.isSessionValid()) {
            Bundle parameters = new Bundle();
            parameters.putString("message", msg);
            try {
                String response = facebook.request("me/feed", parameters,"POST");
                Log.i("Facebook wall post", "While posting to wall response = " + response);

                //System.out.println(response);
            } catch (IOException e) {
                e.printStackTrace();
            }
        } else {
            //login();
        }
    }   

これは既知の問題ですか、それとも他の問題ですか?私を助けてください。

ありがとうございました。

4

1 に答える 1

0

ほとんどの場合、Facebook APIは、リクエストが失敗した場合でも例外をスローしません。エラーステータスは、呼び出しへの応答によって返されます。ここのこの行で:

Log.i("Facebook wall post", "While posting to wall response = " + response);

応答を含むログを書き込んでいます。その反応は何ですか?ウォールポストが失敗したときと比較して成功したときはどうなりますか?

Facebookは、リクエストが速すぎると拒否するようです。APIの制限に関する短いが、おそらく時代遅れの議論については、この質問を参照してください。リクエストが多すぎることを示唆する応答が表示された場合は、遅延を追加して再試行できます。

于 2012-05-15T08:22:57.133 に答える