Facebook-API ohne Client-Authentifizierung für öffentliche Inhalte
-
05-07-2019 - |
Frage
Ich bin eine Website für einen Kunden zu entwickeln, die bereits die Fotos seiner Produkte auf Facebook, und er will, dass die gleichen Alben über seinen Standort repliziert werden. Ich war schon Facebook Connect verwenden, so ließ ich eine Kombination aus photos.getAlbums
und photos.get
dynamisch die Galerien zu machen.
So weit so gut, aber dann merkte ich, dass, wenn es keine Benutzer Trog FBC angemeldet, keine Sitzung erstellt wird und das API wird unbrauchbar, auch für Inhalte, die öffentlich zugänglich sind. Ich möchte natürlich die Alben zu allen zeigen, und nicht nur die Menschen, die ihre Konten verbinden.
Ist dies, wie alle Funktionen in der Facebook-API arbeiten? Was ist die beste (einfacher zu implementieren) Abhilfe für diese Situation?
Lösung
Ab September 2010 können Sie jetzt nur als eine Anwendung, ohne zugeordnete Benutzer authentifizieren. Siehe http://developers.facebook.com/docs/authentication/ . Oder Sie können diesen Beispielcode zum Ausführen ein Zugriffstoken zu erhalten:
curl -F grant_type=client_credentials \
-F client_id=your_app_id \
-F client_secret=your_app_secret \
https://graph.facebook.com/oauth/access_token
Andere Tipps
Für das Protokoll, ich schaffte es, diese Situation zu lösen, indem eine kleine Back-End-Entwicklung, die den Client einmal Book einzuloggen erfordert und geben Das macht keinen Sinn für mich. - Ich habe eine (relativ einfache) Anwendung, die auch in Facebook macht, wenn der Benutzer nie in Facebook vor (in diesem Fall ist es Demo-Daten anzeigt) angemeldet hat, Wenn die Facebook-PHP-Bibliothek, ich dies nur tun: $ facebook = new Facebook ($ api_key, $ Geheimnis); Keine Session-ID erforderlich - aber offensichtlich api-Funktionen, die auf Informationen über den Benutzer abhängen, werden nicht funktionieren Sie können auch einen Blick in „unendliche Sitzung“ Ihre Anwendung -. Sie könntest einen unendlichen Sitzungsschlüssel für sich selbst erstellen und diese Sitzung verwenden, um auf die API zugreifen offline_access