2016-06-02 3 views
4

Ich habe Instagram API seit einem Jahr auf meiner Website und es funktionierte perfekt bis heute, wenn sie enforced the sandbox mode auf allen Anwendungen. Jetzt bekomme ich einen oAuth-Fehler bei jeder Anfrage, die ich mit meiner Client-ID mache. Selbst einfache Anfragen wie die folgenden:Wie kommen Sie zu Instagram OAuth-Fehlern, nachdem sie den Sandbox-Modus erzwungen haben?

https://api.instagram.com/v1/users/search?q=[USERNAME]&client_id=[CLIENTID] 

Wie komme ich um dieses Problem? Ich habe überprüft, dass ich nicht mehr als 20 neueste Medien in meinen API-Aufrufen anrufe, wie in der Dokumentation vorgeschlagen.

Antwort

1

Von der Instagram API Changelog

Alle API-Endpunkte eine gültige erfordern access_token

Sie benötigen einen Benutzer autorisieren mit deiner App. Selbst der Instagram-Account, bei dem Sie den Client registriert haben, muss hier seine Authentifizierungsschritte befolgen Instagram API authentication.

Beachten Sie, dass im Sandbox-Modus nur andere Sandbox-Benutzer sichtbar sind. Wenn Sie versuchen, aktuelle Medien für UserA zu erhalten, die keine Sandbox-Benutzer sind, wird es angezeigt, wenn kein Benutzer gefunden wird.

+0

Ich habe diese Änderung übersehen. Danke, dass du es aufgezeigt hast. Als Follow-up-Frage besagt die Dokumentation, dass die Zugriffstoken jederzeit in der Zukunft ablaufen können. Bedeutet das, dass ich ein neues Zugriffs-Token bekommen muss, indem ich mich jedes Mal neu autorisiere, wenn das Token abläuft? –

+0

Leider ja. Wir haben einige Fälle gesehen, in denen der Token widerrufen wird. Wenn ein Nutzer sie aus seinem Profil widerruft und wenn sie Dinge wie folgt für Folgen Apps verwenden. Ein bestimmtes Verhalten scheint ein Konto als Spam zu kennzeichnen und erfordert, dass der Benutzer bei der Anmeldung ein Capcha eingibt. Dies scheint alle Token von ihrem Konto zu widerrufen. – AndyRyan

4

können Sie die Fotos mit https://www.instagram.com/[USERNAME]/media/

Damit holen können Sie die letzten 20 Beiträge erhalten. Wenn Sie PHP verwenden, würde der Code wie folgt aussehen:

$instaResult= file_get_contents('https://www.instagram.com/'.$username.'/media/') 
$insta = json_decode($instaResult); 
Verwandte Themen