Problem mit Zugriffstoken während Facebook-Test Benutzer erstellen
-
11-10-2019 - |
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:
Vielen Dank für Ihre Hilfe.
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