Проблема с токеном доступа при создании тестовых пользователей Facebook
-
11-10-2019 - |
Вопрос
Я пытаюсь создать тестовые пользователи для моего приложения Facebook. Они объявили об этой функции в этом сообщении в блоге в ноябре (http://developers.facebook.com/blog/post/429), и это задокументировано здесь (http://developers.facebook.com/docs/test_users/) Я не мог найти ответ на это в другом месте ...
Согласно документации, «вы можете создать тестового пользователя, связанного с конкретным приложением, используя API Graph с токеном доступа приложения». Это ссылается на раздел «Автоцентрирование как приложение» и описывает этот скрипт скручивания:
curl -F grant_type=client_credentials \
-F client_id=your_app_id \
-F client_secret=your_app_secret \
https://graph.facebook.com/oauth/access_token
Все идет нормально. Я запустил это и получаю следующее:
access_token=1182...18|nTI...r5Q
Итак, теперь я хочу опубликовать этот токен на URL -адрес пользователя Test Test Graph API:
POST /1182...18/accounts/test-users?installed=true&permissions=read_stream&access_token=1182...18|nTI...r5Q
Когда я делаю это (оба с использованием PHP SDK Facebook и просто вводят его в браузер), я получаю:
{
"error": {
"type": "OAuthException",
"message": "Invalid OAuth access token."
}
}
Итак, вопросы:
Спасибо за помощь.
Решение
Вот некоторые рабочий код Это позволит вам создать тестового пользователя с PHP SDK.
Другие советы
Убедитесь, что ваш токен доступа должным образом укупается при передаче обратно в Facebook.
Я получал эту ошибку, пока не удалил несколько параметров из примера кода, который я увидел, когда я видел. Вот пример в Python, используя запросы, которые мне наконец -то удалось работать:
# Get the access token
resp = requests.get(
'https://graph.facebook.com/oauth/access_token?grant_type=client_credentials&client_id={app_id}&client_secret={app_secret}'.format(
app_id=APP_ID, # Your app id (found in admin console)
app_secret=APP_SECRET # Your app secret (found in admin console)
)
)
# Parse the token
token = resp.content.split('=')[-1]
# Create the user
data = {'access_token': str(token)}
resp = requests.post(
'https://graph.facebook.com/{app_id}/accounts/test-users?installed=true'.format(
app_id=APP_ID
),
data=data
)
print resp.content