Problema con token di accesso durante la creazione di Facebook di test Utenti
-
11-10-2019 - |
Domanda
Sto cercando di creare utenti di test per la mia applicazione Facebook. Hanno annunciato questa funzionalità in questo post del blog nel mese di novembre (http://developers.facebook.com/blog/post/429) ed è documentato qui ( http://developers.facebook.com/docs/test_users/ ). Non riuscivo a trovare la risposta a questa altrove ...
In base alla documentazione "è possibile creare un utente di prova associato ad una particolare applicazione utilizzando l'API Grafico con il token di accesso di applicazione." Questo link alla sezione "Autenticating come applicazione" e descrive questo script 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
Fin qui, tutto bene. Ho eseguito questo e ottengo il seguente:
access_token=1182...18|nTI...r5Q
Quindi ora voglio POST questo token al grafico api URL utente di prova:
POST /1182...18/accounts/test-users?installed=true&permissions=read_stream&access_token=1182...18|nTI...r5Q
Quando faccio questo (sia utilizzando il Facebook PHP SDK e solo digitando nel browser) ottengo:
{
"error": {
"type": "OAuthException",
"message": "Invalid OAuth access token."
}
}
Quindi le domande sono:
Grazie per il vostro aiuto.
Soluzione
Here is some working code that will allow you to create a test user with the PHP SDK.
Altri suggerimenti
Ensure your access token is properly urlencoded when passing back to facebook.
I was getting this error until I removed some parameters from example code I saw floating around. Here is an example in python using requests that I finally managed to get working:
# 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