我在我的应用程序中使用Facebook API将消息发布到墙上。每件事情都很好,但是当我在排序时间间隔内多次发布消息时,墙贴不会出现在墙上。我相信发布时不会发生任何异常。
我对我的应用程序使用'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();
}
}
这是一个已知问题还是别的什么?请帮我。
谢谢。
答案 0 :(得分:0)
在大多数情况下,即使请求失败,Facebook API也不会抛出异常。呼叫响应返回错误状态。在这一行:
Log.i("Facebook wall post", "While posting to wall response = " + response);
您正在编写包含响应的日志。那回应是什么?当墙贴成功与失败时相比,它是什么?
似乎facebook在拒绝请求时拒绝请求,请参阅this question,了解有关API限制的简短但可能过时的讨论。如果您收到的回复表明您提出的请求太多,则可能会添加延迟并重试。