#python #django #facebook #facebook-graph-api
#python #django #Facebook #facebook-graph-api
Вопрос:
Я использовал python-social-auth для социальной аутентификации в своем приложении django. Теперь я собираюсь опубликовать статус facebook из этого приложения.
Сначала я создал приложение Facebook из https://developers.facebook.com /. Вот шаги, которые я выполнил ,
- Создать новое приложение
- Задается отображаемое имя и пространство имен. Категория выбрана как игры, затем создайте приложение.
- Настройки приложения -> Добавить платформу -> Веб-сайт -> url сайта = test1.com: 8000 -> сохранить изменения.
- Я также сделал приложение и все его функции доступными для широкой публики.
Затем я добавил ,
SOCIAL_AUTH_FACEBOOK_KEY='****************'
SOCIAL_AUTH_FACEBOOK_SECRET='**************************'
и
SOCIAL_AUTH_FACEBOOK_SCOPE = [
'publish_actions'
]
чтобы settings.py .
Когда я запускаю это приложение и запускаю аутентификацию на Facebook, оно отображает следующее всплывающее окно,
И когда я нажимаю кнопку воспроизведения сейчас, он успешно перенаправляется на домашнюю страницу моего приложения django и публикует мой статус в Facebook,
Вот мой код для публикации статуса facebook ,
social_user = request.user.social_auth.filter( provider='facebook',)[0]
graph = facebook.GraphAPI(social_user.extra_data['access_token'])
graph.put_object("me", "feed", message="here is status messgae")
Но когда другой пользователь [кроме моей учетной записи facebook] пытается пройти проверку подлинности, это приложение отображает всплывающее окно, подобное этому ,
В первом случае я успешно опубликовал свой статус, но во втором случае я [сообщение во втором всплывающем окне ясно показывает, что приложение не имеет доступа к стене пользователя.]
Это ошибка, которую я получаю во втором случае ,
GraphAPIError at /
(#200) The user hasn't authorized the application to perform this action.
Мой вопрос в том, почему мое приложение не может публиковать сообщения на других стенах?
Есть ли какая-либо неправильная конфигурация (или что-то упущено), которую я сделал при создании приложения facebook?
Или что-то еще, что я должен добавить settings.py .
Комментарии:
1. Вы читали большое красное предупреждение в первом диалоговом окне? Что вам нужно отправить publish_actions, если вы хотите иметь возможность спрашивать людей, у которых нет роли в вашем приложении.
Ответ №1:
Настройки приложения в порядке. На самом деле, facebook недавно внес некоторые существенные изменения и представил версию v2.0 (подробнее об этом здесь)
Итак, с этого момента (вы даже можете проверить предупреждение в первом диалоговом окне)-
Если ваше приложение запрашивает больше, чем
public_profile
,user_friends
это потребует проверки Facebook, прежде чем ваше приложение смогут использовать люди, отличные от разработчиков приложения.
Только тестировщики / разработчики приложения могут тестировать приложение с другими разрешениями, прежде чем они будут проверены facebook.
Вы можете ознакомиться с обзорной документацией для получения более подробной информации.