Проблема с токеном доступа при создании тестовых пользователей Facebook

StackOverflow https://stackoverflow.com/questions/4485228

Вопрос

Я пытаюсь создать тестовые пользователи для моего приложения 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."
    }
}

Итак, вопросы:

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

    Спасибо за помощь.

  • Это было полезно?

    Решение

    Вот некоторые рабочий код Это позволит вам создать тестового пользователя с 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
    
    Лицензировано под: CC-BY-SA с атрибуция
    Не связан с StackOverflow
    scroll top