J'aimerais savoir s'il est possible d'avoir un jeton d'accès qui n'expire jamais pour la publication à ma page
Maintenant, je reçois le jeton d'accès avec: p> J'ai Publish_stream code> et
manage_pages code> autorisation, mais à l'aide de Accéder à la jeton du débogueur Je vois que le jeton expire dans environ une heure. Y a-t-il un moyen de ne jamais expire? P> p>
5 Réponses :
voir Facebook Developers :
En utilisant un jeton d'accès aux utilisateurs de longue durée, interrogeant le [utilisateur ID] / Comptes EndPoint fournira maintenant des jetons d'accès
de page qui ne font pas expire strong> pour les pages qu'un utilisateur gère. p> blockQquote> Donc, vous devez échanger votre jeton initial short purifie pour un jeton longs avec un appel de serveur: p>
xxx pré> puis vous interrogeez sur ce jeton longs. Fonctionne définitivement pour nous, c'est-à-dire les émissions de débogueur: "Expire: jamais" p>
edit - notre processus strong> P> Alors, ce que nous faisons est: p>
premier authentification côté client avec notre application où nous obtenons Un "code" de retour après que l'utilisateur accepte les autorisations demandées et connecte son compte avec notre application p>
https://www.facebook.com/dialog/oauth ? client_id = your_app_id & redirect_uri = your_redirect_uri & Scope = commun_separated_list_of_permission_names & réponse_type = code p> li>
maintenant dans notre application Server Nous utilisons authentification latérale du serveur Pour échanger du code pour le jeton d'accès: P>
https://graph.facebook.com/oauth/access_token ? client_id = your_app_id & redirect_uri = your_redirect_uri & client_secret = your_app_secret & code = code_generated_by_facebook p> li>
avec cet accès_Tokok Nous faisons l'échange latéral du serveur comme décrit ci-dessus p> li>
Maintenant, nous vous demandons des comptes / comptes et de l'accès_Token résultant est toujours valide p> li> ul>
espère que cela aide p> p>
Merci Pete, mais quand je fais cet appel, j'ai cette réponse d'erreur {"Erreur": {"Message": "Une erreur inconnue s'est produite.", "Type": "OauthException", "Code": 1}}
Existant_access_Token est le jeton d'application ou le jeton de page? Je manque peut-être quelque chose :(
@Pete: Êtes-vous sûr que le débogueur affiche expire: jamais code> car pour moi, il affiche
expire: 1354445684 (dans environ 2 mois) code>
@MARCOCALTAGIRONE: Je ne suis pas un expert mais je pense que existant_access_Token code> est le jeton
Page / utilisateur code> Accès.
Mais si j'utilise le jeton d'accès de page comme existant_access_token, j'ai cette erreur {"Erreur": {"Message": "Une erreur inconnue s'est produite.", "Type": "OauthException", "Code": 1}}
Je suis désolé, je suis absent .. Je modifierai ma réponse avec le processus d'authentification que nous utilisons .. Mais pour nous existants_access_Token est un jeton d'accès utilisateur que vous devez demander des comptes. Théoriquement, vous devriez pouvoir également utiliser un jeton d'accès de page pour l'échange.
@Pete: Je suis un peu confus car après avoir suivi la procédure ci-dessus, j'ai toujours reçu un jeton qui expire dans deux mois code> et Facebook Docs indique également que, selon la nouvelle stratégie, on peut étendre le jeton code> code> code> sur
maximum 60 jours. < / Code> Alors, comment pouvez-vous l'obtenir à
n'expire jamais code>. Désolé d'être noobish mais je suis nouveau à Facebook API.
Hein, c'est étrange. Comme je l'ai dit dans mon poste, cela devrait explicitement fonctionner comme indiqué par les documents Facebook. Je pense que les jetons d'accès de page sont l'exception ici. Tous les autres jetons finiront par expirer, mais demandant / comptes avec un jeton de longue durée devraient donner un jeton de jeton d'accès "iMortal" pour toutes les pages du compte;). Je ne sais pas pourquoi ça ne marche pas pour toi ..
Ça marche vraiment! Merci beaucoup :) Voir la photo de débogger ici .
Sa documenté maintenant. développeurs.facebook.com/roadmap/offline-access-removal/... a>
URL est maintenant: développeurs.facebook.com/docs/roadmap / Changements terminés / ... Cela semble fonctionner pour moi aussi. Je vois "Expire: Jamais" quand je débobile le jeton ici: développeurs.facebook.com/tools/ Débogou / AccessToken
Il existe une manière beaucoup plus simple maintenant expliquée dans la seconde moitié de cet article: RocketMarketinginc.com/blog/...
OK, il a fallu environ une semaine de recherche, mais voici ma solution.
dans le https://developers.facebook.com/tools/explorer/ Assurez-vous que vous avoir gérer_page dans votre partie de votre accès_Token. Après cela, utilisez ce code avec votre identifiant d'application, votre secret et redirigez: Après cela copier le "nouveau jeton d'accès" et revenir à
J'ai simplifié la réponse de Pete un peu et ajouté l'étape pour obtenir un jeton d'accès à la page non expirant: p>
Accédez à l'URL suivante et notez le jeton d'accès renvoyé dans la barre d'adresse du navigateur: P>
https://www.facebook.com/ dialogue / OAuth? client_id = APP_ID & redirect_uri = REDIRECT_URI & scope = manage_pages, publish_stream & response_type = jeton p> blockQuote> li>
Accédez à l'URL suivante et dans les données renvoyées, trouvez le nom de la page souhaité et notez le jeton d'accès: p>
https://graph.facebook.com/me/accounts?access_token=access_token_returned_from_step_1 < / a> p> Blockquote> li>
Accédez à l'URL suivante et notez le jeton d'accès renvoyé: P>
jeton d'accès Debugger pour vous assurer que votre profil de jeton d'accès ID correspond au choix ID de la page et il n'expire jamais p> li> ol>
Peu importe ce que l'URI de redirection est? Et si nous faisons quelque chose qui est serveur à serveur et n'implique pas de navigateur ou d'une application Web? Je peux supporter quelque chose si je dois, mais je préférerais pas.
Vous pouvez utiliser l'API suivant de Facebook pour rafraîchir la vie de jeton à 60 jours et juste lorsque le jeton est sur le point d'expirer, appelez la même API à nouveau avec 60 jours pour rafraîchir sa vie à 60 jours à partir de ce moment-là. Token expire est présent dans le paramètre Expire et sa valeur est en secondes p>
remplace client_id et client_secret avec leur valeur réelle p>
https://graph.facebook.com/oauth/access_token?client_id= & Client_secret = & Grant_Type = fb_exchange_Token & fb_exchange_token = P>
dans Access_Token, placez la valeur de jeton réelle sans ajouter "Access_Token =" P>
Il existe un moyen beaucoup plus facile de le faire à partir de 2016 :) strong> p>
Sélectionnez votre application dans la liste déroulante forte> en haut à droite
côté p> li>
Cliquez sur le bouton "Obtenir un jeton d'accès" strong> juste en dessous de la liste déroulante de l'application
sur le côté droit p> li>
dans la liste déroulante Sélectionnez la page que vous souhaitez obtenir un jeton d'accès pour strong>.
Si vous ne voyez pas vos pages répertoriées, vous devez vous assurer que
Vous êtes défini avec le rôle admin pour la page. Aussi vous devrez peut-être avoir à
Cliquez sur "Obtenir un jeton d'accès à la page" dans la liste déroulante, après quoi votre
Les pages montreront dans la liste déroulante la prochaine fois que vous cliquez sur "Accéder à Access
TOKEN "bouton. P> li>
Cliquez sur l'icône de point d'exclamation bleue forte> dans le champ de saisie "Access Jeton" P> Li>
Cliquez sur le bouton "Ouvrir dans l'outil de jeton d'accès" fort> sur le
en bas à droite de la popup p> li>
Cliquez sur le bouton "Extension de jeton d'accès" strong> pour obtenir un jeton que jamais
expire p> li>
ol>
Informations originales de cet article: https: / /wwww.rocketkarketinginc.com/blog/get-never-expiring-facebook-page-access-token/ P>
Merci de votre réponse, mais tout le monde ne cherche pas à avoir accès à leur i> page de leur compte i>. S'il vous plaît spécifier dans la réponse.