FriendsOfREDAXO / feeds

Importiert Daten aus API-Quellen wie YouTube, Vimeo, RSS und mehr
https://friendsofredaxo.github.io/
MIT License
45 stars 15 forks source link

Instagram: Account with this username does not exist #159

Closed alxndr-w closed 2 years ago

alxndr-w commented 4 years ago

Scheinbar wurde nun auch die API zu Instagram verändert.

rkemmere commented 4 years ago

Hey, was muss denn gemacht werden, damit das Ding wieder läuft?

alxndr-w commented 4 years ago

Ein PR hier im Addon, der das Problem löst.

pschuchmann commented 4 years ago

Vielleicht kann man sich hier langhangeln. https://developers.facebook.com/blog/post/2020/03/10/final-reminder-Instagram-legacy-api-platform-disabled-mar-31/

rkemmere commented 4 years ago

Oder das hier nutzen? https://github.com/espresso-dev/instagram-basic-display-php

alxndr-w commented 4 years ago

Siehe auch https://github.com/FriendsOfREDAXO/feeds/issues/139

Wie gesagt, von mir wird hier aktuell kein Fix kommen. Es wäre super, wenn die beiden Instagram und Facebook Feeds mit aktuellen Vendoren oder mit direktem Zugriff auf die API wieder möglich sind.

pschuchmann commented 4 years ago

Quick'&'Dirty Fix:

In der Klasse rex_feeds_stream_instagram_user in der Funktion fetchItemsFromFrontendApi() den Aufruf getMedias() in getMediasByUserId() ändern. Im Stream selbst muss dann statt dem Profilnamen die Id eingetragen werden, die findet man hier raus: https://codeofaninja.com/tools/find-instagram-user-id In der Klasse rex_feeds_stream_instagram_abstract sollten in der Funktion fetchFrontendApi() noch die Verweise auf $owner auskommentiert werden.

Schmutzig, aber funktioniert fürs Erste bis es besser geht.

alxndr-w commented 4 years ago

Kann man die id auch innerhalb des Abrufs rausfinden, sodass man einfach den Stream anpasst und feeds updatet?

pschuchmann commented 4 years ago

Ich fürchte, dass klappt leider nicht. Das Verhalten ist sowieso mehr als interessant, denn sobald ich einen Instagram Feed holen wollte in einem Redaxo, dass bei einem größeren Hoster lag, hab ich den Fehler bekommen. Daraufhin hab ich das mal lokal und bei einem kleineren Hoster getestet und da ging es.

Und soweit ich das überschauen kann, liegt das Problem im Return, links siehst du einen Dump aus einer lokalen Instanz, rechts einen Dump aus einer Instanz, die auf all inkl liegt. Interessant ist der Eintrag entry_data, der die Profildaten beinhaltet. Lokal kommt das Profil zurück, auf all inkl. kommt die Login Seite zurück. Daher fürchte ich, dass man nicht so leicht an die Id des Profils kommt.

image

Ich könnte mir vorstellen, dass Instagram, bzw. Facebook, da eine Art Blacklist führt und Zugriffe von den Webservern aus blockiert. Aber mit Sicherheit kann ich es auch nicht sagen, vielleicht weiß da aber jemand Anderes da mehr oder kann mehr mit meinen Ergebnissen anfangen.

Auf kurz oder lang muss man sich vermutlich mit der neuen API beschäftigen, wobei die Frage ist, wie sinnvoll das noch ist. Was ich nun gelesen habe, muss dafür auf Facebook eine App angelegt werden, Feeds müsste etwas umgebaut werden (was der kleinste Teil daran ist) und am Ende scheint es noch einen Screencast mit Facebook zu geben in dem man dann seine Implementierung präsentieren muss. Also alles in allem ein sehr hoher Aufwand wie ich finde.

palber commented 4 years ago

@pschuchmann Der Quick & Dirty Fix funkioniert bei mir auch auf einem all-inkl Server.

skerbis commented 2 years ago

Da sich einiges ändern wird schließe ich hier. Danke an die Beteiligten