我使用Instagram的/media/shortcode/shortcode
端点获取有关短代码的特定媒体的信息。
https://www.instagram.com/developer/endpoints/media/#get_media_by_shortcode
问题在于,当我将照片的短代码传递到端点时,一切正常,我得到的结果是我期待的,但是,当我将视频的短代码传递给端点,api返回以下内容:
{
"meta": {
"code": 400,
"error_type": "APINotFoundError",
"error_message": "invalid media id"
}
}
这对我来说没有多大意义,因为给定的端点应该可以正常使用视频。
答案 0 :(得分:1)
我也遇到了这个问题--- Instagram文档不是很清楚,但这是因为Sandbox模式的局限性。
为了帮助您开发和测试您的应用,沙盒模式中可用的用户和媒体是真实的Instagram数据(即Instagram应用中通常可见的数据),但具有以下条件:
- 沙箱中的应用仅限10个用户
- 数据仅限10位用户和来自其中每位用户的 20种最新媒体
- 降低API费率限制
来自https://www.instagram.com/developer/sandbox/。
TLDR您需要获得批准才能让其他API调用正常工作。
答案 1 :(得分:0)
获取媒体信息的最佳和最简单的方法是通过调用此网址获取媒体信息(GET方法)Insta Fetch Media URL
用Python编写的示例代码。
import requests, json
def get_media_id(image_url):
url = "https://api.instagram.com/oembed/"
querystring = {"callback": "", "url": image_url}
headers = {
'cache-control': "no-cache"
}
response = requests.request("GET", url, headers=headers, params=querystring)
return json.loads(response.text)