我花了几个小时来解决这个问题,这让我发疯。
我有访问令牌,除了最近标记的媒体端点之外,它都可以工作。 我使用 PHP 调用它:
$url = "https://api.instagram.com/v1/tags/omg/media/recent?access_token={ACCESS_TOKEN}";
$curl_connection = curl_init($url);
curl_setopt($curl_connection, CURLOPT_CONNECTTIMEOUT, 30);
curl_setopt($curl_connection, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl_connection, CURLOPT_SSL_VERIFYPEER, false);
//Data are stored in $data
$data = json_decode(curl_exec($curl_connection), true);
curl_close($curl_connection);
echo '<pre>';
echo print_r($data);
echo '</pre>';
这是我得到的结果:
{"pagination": {"deprecation_warning": "next_max_id and min_id are deprecated for this endpoint; use min_tag_id and max_tag_id instead"}, "meta": {"code": 200}, "data": []}
虽然其他 API 似乎工作正常,但除此之外。 Instagram 标记的媒体 API 是否无法正常工作?有人遇到这个问题吗
状态为200,您的请求正常。问题是您的应用程序仍处于沙盒模式。这只会返回您在沙盒中添加的用户的数据。
来自Instagram网站:
Instagram 平台和文档更新。 2015 年 11 月 17 日或之后创建的应用程序将以沙盒模式启动,并根据新更新的 API 速率限制和行为运行。在上线并可供应用程序开发人员以外的人使用之前,这些应用程序必须经过新的审核流程。请阅读 API 文档或变更日志以了解更多详细信息。
2015 年 11 月 17 日之前创建的任何应用程序将继续运行到 2016 年 6 月 1 日。在那一天,如果未通过审核流程获得批准,该应用程序将自动转移到沙盒模式。我们的文档的先前版本仍然可以在这里找到。
您将需要再次完成应用程序审核流程才能收到新的 API 密钥,其中包括提供您所需的 API 权限的描述,并通过提交的视频演示如何使用这些权限。
更多详情请访问 http://instagram.com/developer
由于 Instagram 的新更新,您无法再通过主题标签获取最近的图像。
但我已经制定了一个解决方法,可以帮助您解决问题。
在 Github
上查看function getImagesByHashtag($hashtag, $ran_count= 16){
$crawl = file_get_contents("https://www.instagram.com/explore/tags/$hashtag/");
$crawl = (str_replace("window._sharedData = ", "", strstr($crawl, "window._sharedData =")));
$crawl = substr($crawl, 0, strpos($crawl, ';</script>'));
$crawl = json_decode($crawl);
$end_cursor = ($crawl->entry_data->TagPage[0]->tag->media->page_info->end_cursor);
$images = $crawl->entry_data->TagPage[0]->tag->media->nodes;
$more = array();
if($ran_count > 16) {
$count = $ran_count-16;
$url = "https://www.instagram.com/query/?q=ig_hashtag($hashtag)+%7B+media.after($end_cursor%2C+$count)+%7B%0A++count%2C%0A++nodes+%7B%0A++++caption%2C%0A++++code%2C%0A++++comments+%7B%0A++++++count%0A++++%7D%2C%0A++++date%2C%0A++++dimensions+%7B%0A++++++height%2C%0A++++++width%0A++++%7D%2C%0A++++display_src%2C%0A++++id%2C%0A++++is_video%2C%0A++++likes+%7B%0A++++++count%0A++++%7D%2C%0A++++owner+%7B%0A++++++id%0A++++%7D%2C%0A++++thumbnail_src%2C%0A++++video_views%0A++%7D%2C%0A++page_info%0A%7D%0A+%7D&ref=tags%3A%3Ashow";
$more = json_decode(file_get_contents($url));
$more = $more->media->nodes;
}
return array_merge($images, $more);
}