Проблема с токеном доступа при создании Facebook Test Users

Я пытаюсь создать тестовых пользователей для своего приложения Facebook. Они объявили об этой функциональности в этом сообщении в блоге в ноябре (http://developers.facebook.com/blog/post/429), и это описано здесь ( http://developers.facebook.com/docs/test_users/ ). Я не мог найти ответ на это в другом месте …

Согласно документации, «вы можете создать тестового пользователя, связанного с конкретным приложением, используя API-интерфейс Graph с токеном доступа к приложениям». Это связано с разделом «Аутентификация как приложение» и описывает этот сценарий CURL:

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 

Итак, теперь я хочу, чтобы POST этот токен на URL-адрес URL-адреса графического api:

 POST /1182...18/accounts/test-users?installed=true&permissions=read_stream&access_token=1182...18|nTI...r5Q 

Когда я это делаю (используя PHP PHP SDK и просто введя его в браузер), я получаю:

 { "error": { "type": "OAuthException", "message": "Invalid OAuth access token." } } 

Поэтому вопросы:

  • Почему я получаю это сообщение об ошибке?
  • Я использую неправильный токен доступа (несмотря на то, что Facebook явно говорит мне, что я использую этот?)
  • Мне нужно каким-то образом разобрать маркер доступа?
  • Спасибо за помощь.

    Solutions Collecting From Web of "Проблема с токеном доступа при создании Facebook Test Users"

    Вот некоторый рабочий код , который позволит вам создать тестового пользователя с 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