Heim > Backend-Entwicklung > PHP-Tutorial > Wie kann ich nach der Einstellung von Offline_access langlebige Facebook-Zugriffstoken erhalten?

Wie kann ich nach der Einstellung von Offline_access langlebige Facebook-Zugriffstoken erhalten?

DDD
Freigeben: 2024-12-01 17:11:14
Original
422 Leute haben es durchsucht

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

Langlebige Zugriffstokens nach der Abschaffung von Offline_access

Die Abschaffung der Offline_access-Berechtigung durch Facebook hat den Erwerb langlebiger Zugriffstokens behindert. Obwohl in der Dokumentation behauptet wird, dass serverseitige OAuth-Tokens erweitert werden sollen, sieht die Realität anders aus.

Lösung

Um ein langlebiges Zugriffstoken zu erhalten, verwenden Sie die Funktion „extendedAccessToken ()“. Methode:

öffentliche Funktion 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'];
Nach dem Login kopieren

}

Denken Sie daran, „deprecate offline_access“ in den erweiterten Einstellungen der Entwickler-App zu aktivieren, um die Funktionalität sicherzustellen. Rufen Sie diese Methode auf, nachdem Sie das reguläre Zugriffstoken erhalten haben, um ein gültiges Token mit einer Ablauffrist von 60 Tagen zu erhalten.

Das obige ist der detaillierte Inhalt vonWie kann ich nach der Einstellung von Offline_access langlebige Facebook-Zugriffstoken erhalten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage