Facebook Graph API funktioniert nach der Migration von v2.2 auf v2.3 nicht
Beim Upgrade auf v2.3 der Facebook Graph API Entwickler sind auf Probleme gestoßen, bei denen bestimmte API-Anfragen keine Daten zurückgeben konnten. In diesem Artikel werden die spezifischen aufgetretenen Probleme untersucht und Lösungen basierend auf Änderungen bereitgestellt, die in der neuesten Version des SDK eingeführt wurden.
Problembeschreibung
Entwickler haben berichtet, dass die API dies zuvor angefordert hat die in Version 2.2 funktioniert haben, geben jetzt in Version 2.3 keine Ergebnisse zurück. Konkret waren die folgenden Anfragen betroffen:
Lösung
Das Problem ist auf Änderungen zurückzuführen, die in Version 2.3 am JSON-Format vorgenommen wurden Vom OAuth-Zugriffstoken-Endpunkt zurückgegebene Antworten. In SDK-Version 3.2.2 analysiert die Funktion getAccessTokenFromCode() die JSON-Antwort fälschlicherweise als Array statt als Objekt, was zum Abruf eines falschen Benutzerzugriffstokens führt.
Um dieses Problem zu beheben, muss getAccessTokenFromCode( )-Funktion sollte aktualisiert werden, um die JSON-Antwort korrekt zu analysieren:
$response = json_decode($access_token_response); if (!isset($response->access_token)) { return false; } return $response->access_token;
Zusätzliche Updates für erweiterte Zugriffstoken
Für Apps, die erweiterte Zugriffstoken verwenden, ist eine ähnliche Änderung in der Funktion setExtendedAccessToken() erforderlich:
//Version 2.3 and up. $response = json_decode($access_token_response); if (!isset($response->access_token)) { return false; } $this->destroySession(); $this->setPersistentData( 'access_token', $response->access_token );
Fazit
Durch die Behebung der oben genannten Änderungen beim Parsen von JSON-Antworten können Entwickler sicherstellen, dass ihre API-Anfragen in Facebooks Graph API v2.3 wie erwartet funktionieren.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3