Question

Je suis en train de créer des utilisateurs de test pour mon application Facebook. Ils ont annoncé cette fonctionnalité dans ce blog en Novembre (http://developers.facebook.com/blog/post/429) et il est documenté ici ( http://developers.facebook.com/docs/test_users/ ). Je ne pouvais pas trouver la réponse à cette ailleurs ...

Selon la documentation, « Vous pouvez créer un utilisateur de test associé à une application particulière en utilisant l'API graphique avec le jeton d'accès aux applications. » Ce lien renvoie vers la section "Autenticating comme une application" et décrit ce 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

Jusqu'à présent, si bon. J'ai couru tout cela et de ce qui suit:

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

Alors maintenant, je veux POST ce jeton au graphique api URL de l'utilisateur test:

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

Quand je fais cela (à la fois en utilisant le SDK PHP Facebook et juste taper dans le navigateur) j'obtenir:

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

Ainsi, les questions sont les suivantes:

  • Pourquoi je reçois ce message d'erreur?
  • Suis-je utiliser le mauvais jeton d'accès (en dépit Facebook me disant explicitement d'utiliser celui-ci?)
  • Ai-je besoin d'analyser le jeton d'accès en quelque sorte?

    Merci pour votre aide.

        
  • Était-ce utile?

    La solution

    Voici quelques code de travail qui vous permettra de créer un utilisateur de test avec le SDK PHP.

    Autres conseils

    Assurez-vous que jeton d'accès est correctement urlencoded lors du passage de retour à facebook.

    je recevais cette erreur jusqu'à ce que j'ai enlevé quelques paramètres de l'exemple de code que j'ai vu flotter. Voici un exemple en python utilisant des requêtes que j'ai finalement réussi à faire fonctionner:

    # 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
    
    Licencié sous: CC-BY-SA avec attribution
    Non affilié à StackOverflow
    scroll top