Frage

Ich versuche, Testbenutzer für meine Facebook-Anwendung zu erstellen. Sie kündigten an, diese Funktionalität in dieser Blog-Post im November (http://developers.facebook.com/blog/post/429), und es wird hier dokumentiert ( http://developers.facebook.com/docs/test_users/ ). Ich konnte nicht die Antwort auf diese an anderer Stelle finden ...

Nach der Dokumentation „können Sie einen Testbenutzer mit einer bestimmten Anwendung unter Verwendung der Graph API mit der Anwendung Zugriffstoken zugeordnet schaffen.“ Diese Links zu dem Abschnitt „Autenticating als Application“ und beschreibt diesen CURL-Skript:

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

So weit, so gut. Ich lief diese und erhalte die folgende:

access_token=1182...18|nTI...r5Q

So, jetzt will ich POST dieses Token an die Testbenutzer URL Graph api:

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

Wenn ich dies tun (sowohl die Facebook PHP SDK und einfach in den Browser eingeben) erhalte ich:

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

So sind die Fragen sind:

  • Warum bekomme ich diese Fehlermeldung?
  • Bin ich den falschen Zugang mit Token (trotz Face mich ausdrücklich zu sagen, diese zu benutzen?)
  • Muss ich das Zugriffstoken irgendwie analysieren?

    Vielen Dank für Ihre Hilfe.

  • War es hilfreich?

    Lösung

    Hier einig Arbeits Code das erlaubt Ihnen einen Testbenutzer mit dem PHP SDK zu erstellen.

    Andere Tipps

    Stellen Sie sicher, Ihre Zugriffstoken richtig Urlencoded wird, wenn wieder auf Facebook vorbei.

    Ich habe immer diese Fehlermeldung, bis ich einige Parameter von Beispiel-Code I saw Umlauf entfernt. Hier ist ein Beispiel in Python mit Anfragen, dass ich endlich zum Laufen bringen verwaltet:

    # 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
    
    Lizenziert unter: CC-BY-SA mit Zuschreibung
    Nicht verbunden mit StackOverflow
    scroll top