1

我在我的应用程序中使用Facebook API将消息发布到墙上。一切正常,但是当我在一个排序时间间隔内多次发布消息时,墙上的帖子不会出现在墙上。我确信发布时不会发生任何异常。

我对我的应用程序使用“离线访问”权限。

代码 :

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 回答