Instagram - 如何根据给定的标签获取媒体?

时间:2017-11-05 23:09:06

标签: facebook-graph-api instagram instagram-api

我正在尝试编写一个Instagram应用程序,其中包括让我根据标签获取媒体。 我已经完成了它,然后才在developer page中注意到来自Instagram的这条消息。

  

从10/1/2017开始,除基本权限之外的所有权限都无法提交或获取。

按标签查询需要public_content权限。 看起来这是不可能的。

还有其他选择吗?我试图寻找与Facebook graph api类似的功能,但没有发现任何有趣的东西。

3 个答案:

答案 0 :(得分:1)

试试这个PHP库: https://github.com/postaddictme/instagram-php-scraper

或Java库: https://github.com/postaddictme/instagram-java-scraper

示例:

https://github.com/postaddictme/instagram-php-scraper/blob/master/examples/getMediasByTag.php

require __DIR__ . '/../vendor/autoload.php';

$instagram = \InstagramScraper\Instagram::withCredentials('username', 'password', '/path/to/cache/folder');
$instagram->login();

$medias = $instagram->getMediasByTag('youneverknow', 20);
$media = $medias[0];
echo "Media info:\n";
echo "Id: {$media->getId()}\n";
echo "Shotrcode: {$media->getShortCode()}\n";
echo "Created at: {$media->getCreatedTime()}\n";
echo "Caption: {$media->getCaption()}\n";
echo "Number of comments: {$media->getCommentsCount()}";
echo "Number of likes: {$media->getLikesCount()}";
echo "Get link: {$media->getLink()}";
echo "High resolution image: {$media->getImageHighResolutionUrl()}";
echo "Media type (video or image): {$media->getType()}";
$account = $media->getOwner();
echo "Account info:\n";
echo "Id: {$account->getId()}\n";
echo "Username: {$account->getUsername()}\n";
echo "Full name: {$account->getFullName()}\n";
echo "Profile pic url: {$account->getProfilePicUrl()}\n";

答案 1 :(得分:1)

根据facebook上的博客文章,他们将于2018年12月11日弃用公共内容apis。

https://developers.facebook.com/blog/post/2018/01/30/instagram-graph-api-updates/

我也没有在这个用例的图形api上找到任何内容,所以看起来你运气不好。

答案 2 :(得分:-2)

我也很想知道这一点,我们一直在开发并且不知道切断这些权限。寻找基于主题标签检索公共图像的解决方案。

关注!