2012-06-19 1 views
0

faits:Comment puis-je obtenir par programme un jeton FB afin de pouvoir exécuter une requête API Graph via un script?

Je suis en cours d'exécution un concours FB où les utilisateurs sont entrés dans un dessin simplement en aimant un poste spécifique.

Je peux appeler le $postid/likes dans l'explorateur d'API graphique en utilisant le jeton généré par l'explorateur d'API graphique et recevoir les informations appropriées. C'est un résultat simple avec une paire identifiant/nom d'utilisateur qui est tout ce dont j'ai besoin pour générer un gagnant aléatoire.

Je cours un cron quotidien qui recueille tous les nouveaux goûts pour le poste et les met dans une base de données afin que je puisse dépister le nombre de participants et sortir un gagnant de la piscine facilement. Le script fonctionne et j'obtiens les données attendues si je copie le jeton à partir de l'appel de l'API Graph Explorer ci-dessus et le branche dans le script.

Problème:

Depuis le script ci-dessus fonctionne lorsque je copie le jeton temporaire actif de l'API Graph Explorer, je ne devrais pas être en mesure de le faire par programme? Je n'arrive pas à comprendre comment je suis supposé m'authentifier lorsque mon cron quotidien s'exécute (pas d'interaction de l'utilisateur) afin d'obtenir un nouveau jeton valide et non expiré. Comme il s'agit d'un cron exécuté à partir du serveur, je ne peux évidemment pas m'authentifier via une boîte de dialogue utilisateur.

Répondre

0

Vous pouvez créer une application, puis authenticate as that app. Les jetons d'accès accordés à une application n'expirent pas, vous pourrez donc le coder dans votre job cron.

Marchez prudemment avec ceci. Il semble que votre concours viole le Facebook promotions guidelines:

Vous ne devez pas conditionner l'inscription ou l'entrée lorsque l'utilisateur aime une borne murale.

+0

J'ai essayé de m'authentifier en tant qu'application, mais le jeton que je récupère renvoie un tableau de données vide lorsque j'effectue le même appel d'API. Il ne semble pas avoir les mêmes autorisations que le jeton Graph API Explorer que j'utilise, mais je n'arrive pas à déterminer où les modifier, ou même si c'est ce que je dois faire. Vous avez raison de souligner les lignes directrices de la promotion, je ne les ai pas lues assez attentivement. Cela met un terme à mon expérience actuelle, cependant, j'aimerais toujours savoir pourquoi mon approche échoue avec l'appel de l'API. Merci! – Matt

+0

Peut-être pas. Vous devez demander explicitement la permission. Une autre possibilité est que les personnes qui aiment les messages ont leurs paramètres de confidentialité de sorte que leur activité ne sera pas retournée par une application. – cpilko

Questions connexes