Problema con el token de acceso, mientras que la creación de los usuarios de Facebook de prueba
-
11-10-2019 - |
Pregunta
Estoy intentando crear usuarios de prueba para mi aplicación de Facebook. Anunciaron esta funcionalidad en esta entrada del blog en noviembre (http://developers.facebook.com/blog/post/429) y se documentan aquí ( http://developers.facebook.com/docs/test_users/ ). No pude encontrar la respuesta a esta otra parte ...
De acuerdo con la documentación, "Usted puede crear un usuario de prueba asociado con una aplicación en particular mediante la API de gráficos con el token de acceso de la aplicación." Esto enlaza con la sección "Autenticating como una aplicación" y describe este 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
Hasta ahora, todo bien. Me encontré con esto y sale el siguiente:
access_token=1182...18|nTI...r5Q
Así que ahora yo quiero escribir esto contadores a la URL de usuario de prueba gráfica API:
POST /1182...18/accounts/test-users?installed=true&permissions=read_stream&access_token=1182...18|nTI...r5Q
Cuando hago esto (tanto mediante el Facebook PHP SDK y simplemente escribiendo en el navegador) me sale:
{
"error": {
"type": "OAuthException",
"message": "Invalid OAuth access token."
}
}
Así que las preguntas son:
Gracias por su ayuda.
Solución
Aquí hay un código trabajo que le permitirá crear un usuario de prueba con el SDK de PHP.
Otros consejos
Asegúrese de que su token de acceso se urlencoded adecuadamente cuando se pasa de nuevo a facebook.
Me estaba recibiendo este error hasta que me quité algunos parámetros de código de ejemplo que vi flotando alrededor. Este es un ejemplo en Python usando peticiones que por fin he conseguido trabajo:
# 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