Facebook Graph API 2.3 Behebung von Problemen
Das Graph API 2.3-Upgrade hat einige unerwartete Probleme hervorgebracht. API-Antworten können nicht abgerufen werden und fehlende Benutzerdaten gehören zu den häufigsten Problemen. Die Lösung für diese Probleme liegt jedoch im Verständnis der in Version 2.3 eingeführten Änderungen.
Änderung des Antwortformats
Version 2.3 hat das Antwortformat für „oauth/“ geändert. access_token“-Endpunkt. Es gibt jetzt gültiges JSON anstelle von URL-codierten Daten zurück. Diese Änderung betrifft den Zugriffstoken-Parsing-Mechanismus im Facebook SDK 3.2.2.
Lösung
Um dies zu beheben, müssen Sie die Funktion „getAccessTokenFromCode“ im SDK ändern um die Antwort als JSON zu analysieren. Der aktualisierte Code unten demonstriert diesen Fix:
$response = json_decode($access_token_response); if (!isset($response->access_token)) { return false; } return $response->access_token;
Zusätzliche Änderungen
public function setExtendedAccessToken() { try { // Get extended access token. $access_token_response = $this->_oauthRequest( $this->getUrl('graph', '/oauth/access_token'), $params = array( 'client_id' => $this->getAppId(), 'client_secret' => $this->getAppSecret(), 'grant_type' => 'fb_exchange_token', 'fb_exchange_token' => $this->getAccessToken(), ) ); } catch (FacebookApiException $e) { // User revoked authorization. return false; } if (empty($access_token_response)) { return false; } $response = json_decode($access_token_response); if (!isset($response->access_token)) { return false; } $this->destroySession(); $this->setPersistentData( 'access_token', $response->access_token ); }
Durch die Implementierung dieser Updates und Änderungen können Sie die Probleme lösen, die mit der Facebook Graph API 2.3 auftreten.
Das obige ist der detaillierte Inhalt vonWie behebe ich Probleme mit der Facebook Graph API 2.3 mit Zugriffstokens und fehlenden Benutzerdaten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!