„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Warum schlägt meine Facebook Graph API nach der Migration von v2.2 auf v2.3 fehl?

Warum schlägt meine Facebook Graph API nach der Migration von v2.2 auf v2.3 fehl?

Veröffentlicht am 22.12.2024
Durchsuche:958

Why is My Facebook Graph API Failing After Migrating from v2.2 to v2.3?

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:

  • /me/albums mit field=albums
  • /me ohne Angabe von Feldern (wird zum Abrufen des Geburtstags des Benutzers verwendet)

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.

Neuestes Tutorial Mehr>

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