如何使用Instagram的API获取媒体ID


How to get the media ID using Instagram's API

我一直在尝试检索在Instagram上评论图片的用户。我面临的问题是您需要在 api 端点中使用图像的media ID。我正在使用此代码来获取图像的media ID

$api = file_get_contents("http://api.instagram.com/oembed?url=https://www.instagram.com/p/BBHOUQyuS3T/?taken-by=kimkardashian");
$apiObj = json_decode($api,true);
$media_id = $apiObj['media_id'];
print_r($media_id);

这给了我1172969193024859603_18428658 media ID.

当我像这样将其输入到我的 api 请求中时:

$api = file_get_contents("http://api.instagram.com/v1/media/".$media_id."/comments?access_token=".$access_token);

使用我的特定access_token,我得到一个 400 错误代码。当我直接转到页面网址时,它说:

媒体 ID 无效。

以前有其他人遇到过这个问题吗?如果是这样,你是如何解决的?

另一个令人费解的部分是,在环顾 Stackoverflow 一段时间后,我找到了几种将图片的简码翻译成media ID的方法。

其中之一是这里的nodejs模块,它为我提供了1172969193024859603图像的media ID,所以像原始的一样,但没有下划线后面的位。两个ID都给了我相同的错误。

我已经在这里待了几个小时,这让我发疯了!请帮忙。

如果您

尝试访问不在沙盒授权用户列表中的用户媒体,这是沙盒模式下的预期响应。

https://www.instagram.com/developer/sandbox/

数据仅限于沙盒用户和来自 20 个最新媒体 每个沙盒用户

将要访问其照片的用户添加到沙盒用户,然后您将获得有效的媒体 API 响应

media_id 1172969193024859603_184286581172969193024859603相同,下划线后面的部分是媒体所有者的user_id,两者都对media_id