in2code-de / instagram

Show instagram feed without API in a TYPO3 extension
https://www.in2code.de/agentur/typo3-extensions/instagram/
19 stars 13 forks source link

Use Instagram GraphQL api #1

Closed IchHabRecht closed 3 years ago

IchHabRecht commented 4 years ago

This patch uses the Instagram GraphQL api to fetch the 50 latest posts.

First the username is converted to a profile id. With that id the GraphQL api can be used to fetch posts.

einpraegsam commented 4 years ago

First of all, I did not saw the pull request for any reason I don't understand (maybe mail was catched by spamfilter or so) - I just stumbled over it.

I think your solution is much better for the the initial way we have chosen. Nevertheless meanwhile I published version 3 of this extension which takes a completely different way. Short description: If a server makes requests on https://instagram.com/profile/ the server will be blocked after a short time even if there is only one request a day. A 302-redirect to the login-page came up after nearly one month usage. So now the server of in2code.de cannot reach https://instagram.com/profile/ and also not reach the same location with a prefix ?__a=1

So my question to you: Is your way waterproofed? Or is it also possible to also be blocked without API?

IchHabRecht commented 4 years ago

Hi @einpraegsam,

I don't have enough experience with Instagram and its IP blocking. In my own tests everything worked fine even with multiple requests in short time. I'm not sure why the server was banned and what happend in the background.

einpraegsam commented 3 years ago

Hi again,

We tried different things without great success and now we want to give the methods of https://github.com/RSS-Bridge/rss-bridge/blob/master/bridges/InstagramBridge.php#L41 a shot. Which means: This is nearly the same as you already did with your PR. I just merged it and want to rebuild the extension again with a scheduler command where admins can adjust the frequency of pulling new stuff from Instagram (I would start with 24h or 48h to reduce the danger of blocking).

So, long story short: Thx for the way that you suggested, let's try it :+1:

Greeting from Rosenheim, Alex