Heim >Backend-Entwicklung >PHP-Tutorial >Wie kann ich die Gültigkeit des Facebook-Zugriffstokens nach der Einstellung von Offline_Access verlängern?
Problem:
Mit der Abschaffung der offline_access-Berechtigung im Facebook-Authentifizierungsablauf , ist das Abrufen langlebiger Zugriffstoken ohne diese Erlaubnis zu einer Herausforderung geworden. Obwohl in der Dokumentation von Facebook angegeben wird, dass serverseitige OAuth-Tokens langlebig sein werden, ist dies nicht der Fall.
Lösung:
Facebook hat das PHP SDK aktualisiert, um eine Methode einzubinden zur Verlängerung der Gültigkeit des Zugriffstokens.
Aktualisiertes SDK Methode:
Eine öffentliche Funktion namens setExtendedAccessToken wurde zu base_facebook.php hinzugefügt. Diese Funktion gibt ein neues Zugriffstoken mit einem Ablauf von 60 Tagen zurück.
Verwendung:
Rufen Sie diese Funktion auf, nachdem Sie das normale Zugriffstoken erhalten haben. Sie können über die öffentliche Funktion getAccessToken auf das neue Token zugreifen.
Erweiterte Zugriffstoken-Funktion:
public function getExtendedAccessToken(){ try { $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) { 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']; }
Hinweis:
Das obige ist der detaillierte Inhalt vonWie kann ich die Gültigkeit des Facebook-Zugriffstokens nach der Einstellung von Offline_Access verlängern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!