Mon site utilise des jetons d'accès à vie ( offline_access
). Toutefois, si l'utilisateur modifie son mot de passe, le jeton d'accès est réinitialisé. Existe-t-il une méthode pour vérifier si le jeton d'accès actuel est valide avant d'appeler l'API Graph? Merci pour votre temps.
Réponses
Trop de publicités?Hors ligne, sans rien envoyer à facebook - je ne le pense pas. Le moyen le plus simple est probablement d’envoyer une demande à:
https://graph.facebook.com/me?access_token=...
Facebook prend également en charge les abonnements pour les mises à jour en temps réel, mais je ne sais pas comment les appliquer à cette situation.
Fondamentalement, FB veut que vous sondage pour elle, ou pour détecter les cas et rediriger l'utilisateur d'obtenir une reauth à se produire. Ennuyeux, mais officiel:
https://developers.facebook.com/blog/post/500/
Edit: Facebook a changé leur structure de liaison sans redirections. Pas surpris.
https://developers.facebook.com/blog/post/2011/05/13/how-to--handle-expired-access-tokens/
Vous pouvez vérifier le jeton en utilisant le service de débogage de jeton, jetez un oeil ici
https://graph.facebook.com/debug_token?input_token=INPUT_TOKEN&access_token=ACCESS_TOKEN
https://developers.facebook.com/docs/howtos/login/debugging-access-tokens/
Le temps réel des mises à jour vous permettra de résoudre ce problème, mais il serait assez compliqué. Fondamentalement, vous pouvez vous abonner aux mises à jour qui vous dira 1) si l'utilisateur a supprimé l'app ou 2) si l'utilisateur a supprimé les autorisations. Vous pouvez l'utiliser pour stocker les autorisations actuelles de la faceboook de l'utilisateur. De cette façon, si l'utilisateur a supprimé de votre application, vous savez que le jeton d'accès est expiré.
En temps réel des mises à jour est en fait facebooks recommandé manière de gérer les autorisations. De nombreuses applications, faire des appels de l'api à chaque fois qu'une page est chargée de vérifier les autorisations. Cela a tendance à être lent et peu fiable.