Maison > développement back-end > tutoriel php > Comment puis-je obtenir des jetons d'accès Facebook de longue durée après la dépréciation de Offline_access ?

Comment puis-je obtenir des jetons d'accès Facebook de longue durée après la dépréciation de Offline_access ?

DDD
Libérer: 2024-12-01 17:11:14
original
422 Les gens l'ont consulté

How Can I Obtain Long-Lived Facebook Access Tokens After Offline_access Deprecation?

Jetons d'accès de longue durée après la dépréciation de l'accès hors ligne

La dépréciation par Facebook de l'autorisation d'accès hors ligne a entravé l'acquisition de jetons d'accès de longue durée. Malgré la documentation affirmant que les jetons OAuth côté serveur doivent être étendus, la réalité est différente.

Solution

Pour obtenir un jeton d'accès de longue durée, utilisez extendAccessToken () méthode :

fonction publique getExtendedAccessToken(){

try {
    // need to circumvent json_decode by calling _oauthRequest
      // directly, since response isn't JSON format.
    $access_token_response =
        $this->_oauthRequest(
            $this->getUrl('graph', '/oauth/access_token'), array(
                'client_id' => $this->getAppId(),
                'client_secret' => $this->getAppSecret(),
                'grant_type'=>'fb_exchange_token',
                'fb_exchange_token'=>$this->getAccessToken()
            )
        );
} catch (FacebookApiException $e) {
  // most likely that user very recently revoked authorization.
  // In any event, we don't have an access token, so say so.
  return false;
}

if (empty($access_token_response)) {
  return false;
}

$response_params = array();
parse_str($access_token_response, $response_params);
if (!isset($response_params['access_token'])) {
  return false;
}

return $response_params['access_token'];
Copier après la connexion

}

N'oubliez pas d'activer "deprecate offline_access" dans les paramètres avancés de l'application Developer pour garantir la fonctionnalité. Appelez cette méthode après avoir reçu le jeton d'accès régulier pour obtenir un jeton valide avec une période d'expiration de 60 jours.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal