Сообщение на стене не появляется на Facebook, опубликованном моим приложением: Android
Я использую 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();
}
}
Это известная проблема или что-то еще? Пожалуйста, помогите мне.
Спасибо.
1 ответ
API Facebook в большинстве случаев не будет генерировать исключения, даже если запрос не выполнен. Статус ошибки возвращается ответом на звонок. В этой строке здесь:
Log.i("Facebook wall post", "While posting to wall response = " + response);
Вы пишете журнал с ответом. Что это за ответ? Что происходит, когда сообщение на стене успешно по сравнению с тем, когда оно терпит неудачу?
Кажется, что Facebook отклоняет запросы, когда они приходят слишком быстро, посмотрите этот вопрос для краткого, но, возможно, устаревшего обсуждения ограничений API. Если вы получаете ответ, который предполагает, что вы делаете слишком много запросов, вы можете добавить задержку и повторить попытку.