我花了好几个小时来解决这个问题,这让我发疯了。
我有访问令牌,除最近标记的媒体端点外,它都有效。 我用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无法正常工作吗?有人有这个问题吗?
答案 0 :(得分:1)
状态为200,您的请求正常。问题是您的应用仍处于沙盒模式。这只会返回您在沙盒中添加的用户的数据。
来自Instagram网站:
Instagram平台和文档更新。在2015年11月17日当天或之后创建的应用将以沙盒模式启动,并在新更新的API速率限制和行为上运行。在上线之前,除了应用程序的开发人员之外,还可以使用这些应用程序,这些应用程序必须经过新的审核流程。有关更多详细信息,请阅读API文档或更改日志。
2015年11月17日之前创建的任何应用程序将继续运行至2016年6月1日。在该日期,如果未通过审核流程批准,应用程序将自动转移到沙盒模式。我们的文档的先前版本仍然可以在这里找到。
您需要再次通过应用审核流程才能收到新的API密钥,其中包括提供您所需的API权限说明,并演示如何通过提交的视频使用这些权限。
的更多详情答案 1 :(得分:1)
由于Instagrams的新更新,您无法再按标签获取最近的图像。
但是我已经制定了可以帮助解决问题的解决方法。
上查看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);
}