Reputation: 760
i want to show public contents from instagram related to a specific hashtag (everything works fine with that) but i can't to renew the access_token
everytime it expires.
("do not assume your access_token is valid forever." - https://www.instagram.com/developer/authentication/)
To renew it manually is not an option i have to make sure there is a valid access_token
at ANY time without re-authenticating.
Any ideas or questions? :)
Upvotes: 7
Views: 2840
Reputation: 769
Instagram shut down their public API. Here's a quick and dirty workaround in PHP:
<?php
function getPublicInfo($username) {
$url = sprintf("https://www.instagram.com/$username");
$content = file_get_contents($url);
$content = explode("window._sharedData = ", $content)[1];
$content = explode(";</script>", $content)[0];
$data = json_decode($content, true);
return $data['entry_data']['ProfilePage'][0];
}
Not sure for how long it's gonna work. Here's one for Javascript.
Upvotes: 1
Reputation: 106
Update to the ?__a=1 url param. This appears to have stopped working with users '/account/?__a=1' endpoints.:( Still works on tags apparently.
Upvotes: 8
Reputation: 2557
I have one idea, but without API (and access_token
). You can make requests to the web-version of Instagram with ?__a=1
parameter. I do not know how long it will work but now there is workflow:
space
, for example.?__a=1
: https://www.instagram.com/explore/tags/space/?__a=1json
with nodes in top_posts
(8) and media
(18). Each node has owner
, caption
, number of comments and likes. But the most important part is in thumbnail_src
and display_src
.page_info
in media
object which helps to paginate results. You need end_cursor
(for example, J0HWE9rjAAAAF0HWE9qvgAAAFiYA
)end_cursor
to the url: https://www.instagram.com/explore/tags/space/?__a=1&max_id=J0HWE9rjAAAAF0HWE9qvgAAAFiYAUpvotes: 8