Вы получаете 403 Authentication Error
, что явно означает, что ваше приложение в настоящее время не авторизовано для публикации в профиле пользователя Facebook.
Существует некоторая проблема с тем, как вы пытаетесь использовать API Facebook. Я бы посоветовал вам последнюю версию Facebook SDK для Android, так как некоторые из старых методов могут устареть. Позвольте мне рассказать вам, как сделать это правильно. (Я недавно внедрил последнюю версию Facebook SDK)
Существуют определенные разрешения, необходимые для выполнения определенных операций с Facebook SDK. Например, вам нужно разрешение publish_actions
, если вы хотите, чтобы ваше приложение публиковало статус в профиле пользователя.
Оформить заказ Там написано:
For example, the publish_actions permission lets you post to a person's Facebook Timeline.
Вам нужно показать пользователю кнопку входа в систему, которая попросит его войти в систему со своей учетной записью Facebook и уведомит пользователя о том, что ваше приложение может делать с его профилем Facebook. Он покажет разрешения. В вашем случае вам нужно добавить кнопку входа с разрешением publish_actions
. Как только пользователь принимает его, ваше приложение становится авторизованным для публикации статуса.
Полное руководство для выполнения процесса входа в Facebook с разрешениями.
Вам нужно будет сделать следующее,
LoginButton authButton = (LoginButton) view.findViewById(R.id.authButton);
authButton.setFragment(this);
authButton.setReadPermissions(Arrays.asList("user_likes", "user_status", "publish_actions"));
return view;
Итак, вы можете видеть, что мы просим пользователя предоставить вам разрешение publish_actions. Не обязательно включать разрешения user_likes
или user_status
. Вы можете удалить их, если они вам не нужны.
- Что будет дальше после входа в систему
После того, как пользователь войдет в систему, вы получите authentication token
в своем session
с Facebook. Итак, теперь вы можете использовать это для публикации в профиле пользователя.
Сейчас есть много способов публиковать посты или статусы на Facebook. Первое, что я хотел бы обсудить, это использование Graph API
Для получения дополнительной информации перейдите по этой ссылке
Вот несколько кодов, которые вы можете использовать для публикации на Facebook.
Session session = Session.getActiveSession();
new Request(
session,
"/me/feed",
null,
HttpMethod.POST,
new Request.Callback() {
public void onCompleted(Response response) {
}
}
).executeAsync();
или Вы также можете просмотреть это руководство.
ПРИМЕЧАНИЕ
Вам также необходимо создать учетную запись разработчика в Facebook и добавить свое приложение на его панель инструментов, сгенерировать app_id и указать его в файле AndroidManifest.xml
.
Подробнее
10.07.2014