【问题标题】:How to get the media ID using Instagram's API如何使用 Instagram 的 API 获取媒体 ID
【发布时间】:2016-01-30 12:12:03
【问题描述】:

我一直在尝试检索在 Instagram 上对图片发表评论的用户。我面临的问题是您需要图像的media ID 才能在 api 端点中使用。我正在使用此代码获取图像的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);

这给了我media ID1172969193024859603_18428658

当我像这样将它输入到我的 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 模块here,它为1172969193024859603 的图像提供了media ID,因此与原始图像类似,但下划线后没有位。两个 ID 都给我同样的错误。

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

【问题讨论】:

  • 你是沙盒模式吗?

标签: php node.js instagram instagram-api


【解决方案1】:

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

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

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-28
    • 2012-06-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多