似乎此解决方案不再有效 -
How to get a user's Instagram feed
新API需要一个访问令牌,该令牌在通过登录页面后动态分配。有没有办法仍然通过PHP以编程方式提取Feed而不跳过新的oauth篮球?这对于设置crontab以自动将新帖子保存到数据库非常有用。
答案 0 :(得分:26)
是的,你可以。您无需登录或access_token即可获得最新的20个帖子。您只需要解析https://www.instagram.com/[USERNAME]/media/
中的json内容。
将[username]
替换为Instagram user_name
。
例如
$instaResult = file_get_contents('https://www.instagram.com/'.$username.'/media/');
$insta = json_decode($instaResult);
更新: Instagram已更改用户媒体rss网址。为了获得rss feed你现在必须使用 https://www.instagram.com/[USERNAME]/?__a=1
更新: 以上解决方案已弃用,访问令牌是获取Instagram Feed所必需的。因此,不要浪费时间寻找不需要访问令牌的解决方案。
答案 1 :(得分:1)
试试这个php库:https://github.com/postaddictme/instagram-php-scraper
mystrings = [string for code1, string for code5, string for code11]
答案 2 :(得分:0)
我们仍然可以访问照片。但只有最后12张照片。如果要更多照片,access_token要求。这是我获取照片的方式。
$instaResult = file_get_contents('https://www.instagram.com/'.$username.'/?__a=1');
$insta = json_decode($instaResult);
$instagram_photos = $insta->graphql->user->edge_owner_to_timeline_media->edges;
现在,我们得到了最后一个照片阵列。
比起我在foreach循环中使用的视图。
<ul>
@foreach($instagram_photos as $instagram_photo)
<li>
<img src="{{$instagram_photo->node->display_url}}">
</li>
@endforeach
</ul>
答案 3 :(得分:-2)
这不再起作用:
https://www.instagram.com/zahidrasheed/?__a=1
这有效:
https://www.instagram.com/zahidrasheed/?__a=1