Je suis conscient qu’il y a beaucoup de questions à propos des access aux Facebook et du chagrin qu’ils causent, mais malgré beaucoup d’expérimentation et de lecture de nombreux articles de blog frustrants (FB et autres), j’ai du mal à répondre à mes besoins . Permettez-moi de briser brièvement mon processus jusqu’à présent:
Et voici où je suis coincé. Ma clé de 60 jours fonctionne bien pour que mon serveur récupère les informations nécessaires sur la page, mais pour autant que je sache, il est impossible d’étendre par programmation cette clé de 60 jours. Je ne connais pas non plus de moyen de générer une nouvelle clé à durée de vie courte sans accéder manuellement à l’explorateur d’API Facebook Graph et en en créer un.
Étant donné que c’est mon serveur qui envoie les requêtes à l’API Facebook et non à un système basé sur l’utilisateur (où je pourrais facilement demander à un utilisateur d’autoriser à nouveau l’application Facebook), cela crée un système très encombrant. Depuis que Facebook a déprécié offline_access
, n’y a-t-il pas vraiment de moyen permanent pour que mon serveur extrait des informations de ma propre page? Dois-je vraiment créer une nouvelle clé à la main et mettre à jour manuellement mon serveur tous les 60 jours?
Ou y a-t-il quelque chose qui me manque?
Mettre à jour:
Le guide étape par étape qui a été précédemment trouvé ici a été migré vers le bas dans sa propre réponse .
Ce sont les étapes qui étaient précédemment dans la question – ils ont migré vers cette réponse.
Ayant constaté qu’il est possible de générer un jeton d’access à la page Facebook qui n’expire pas (avec l’aide de @Igy), voici un guide clair, étape par étape, pour tous ceux qui cherchent la même chose:
manage_pages
https://graph.facebook.com/oauth/access_token?client_id=&client_secret= &grant_type=fb_exchange_token&fb_exchange_token=
https://graph.facebook.com/me/accounts?access_token=
jeton d’access de https://graph.facebook.com/me/accounts?access_token=
access_token
pour la page à partir de laquelle vous allez extraire des informations Expires: Never
! Ça devrait le faire. Vous devriez maintenant avoir un jeton d’access à la page Facebook qui n’expire pas, sauf si:
N’importe lequel de ces éléments entraînera la non validité du jeton d’access.
Si vous obtenez (#100) Tried accessing nonexisting field (accounts) on node type (Page)
, accédez au débogueur de jeton d’access , copiez la valeur de User ID
et utilisez-le pour remplacer la partie “moi” de l’URL. étape 9.
Ceci est couvert dans le document de dépréciation Accès hors connexion
Utilisez le jeton de 60 jours pour que l’administrateur de page récupère un jeton d’access à la page (via /PAGE_ID?fields=access_token
ou /me/accounts
) – le jeton d’access à la page n’aura pas de délai d’expiration
Merci beaucoup à @redhotvengeance pour un guide étape par étape.
Après un certain temps, il est maintenant clairement décrit dans la documentation de Facebook:
https://developers.facebook.com/docs/facebook-login/access-tokens/expiration-and-extension
Extension des jetons d’access aux pages
Les applications peuvent récupérer un jeton d’access à la page à partir des utilisateurs de l’administrateur de page lorsqu’ils s’authentifient avec l’autorisation manage_pages. Si le jeton d’access utilisateur utilisé pour récupérer ce jeton d’access à la page est de courte durée, le jeton d’access à la page sera également de courte durée.
Pour obtenir un jeton d’access à la page dont la durée de vie est plus longue, remplacez le jeton d’access utilisateur par un jeton de longue durée, comme ci-dessus, puis demandez le jeton d’access à la page. Le jeton d’access à la page résultant n’aura pas de délai d’expiration.
Vous pouvez également copier et passer depuis le tableau de bord de l’application sur Facebook. Les marches:
Allez sur https://developers.facebook.com
Sélectionnez votre application dans le coin supérieur droit de la page (photo de ce à quoi elle ressemble)
Gardez à l’esprit que, bien qu’en théorie, votre jeton n’expire pas, il est directement lié au compte facebook auquel vous êtes connecté. Donc, dites que vous modifiez votre mot de passe ou que vous supprimez les permissions entre votre compte et votre application, alors votre jeton ne sera plus valide.