我正在使用Instagram的Get Recent Media端点来获取标签中的图片和视频。根据文档,这里是video
媒体json
的样子(为简洁起见,跳过其他字段):
{
"type": "video",
"videos": {
"low_resolution": {
"url": "http://distilleryvesper9-13.ak.instagram.com/090d06dad9cd11e2aa0912313817975d_102.mp4",
"width": 480,
"height": 480
},
"standard_resolution": {
"url": "http://distilleryvesper9-13.ak.instagram.com/090d06dad9cd11e2aa0912313817975d_101.mp4",
"width": 640,
"height": 640
}
}
}
因此,对于每个json
媒体type=video
,应该有一个videos
元素。然后,我尝试使用quakeroats
作为标记的请求,以下是网址:
https://api.instagram.com/v1/tags/quakeroats/media/recent?access_token=<access_token>
它返回了以下作为媒体之一的媒体列表:
{
"id": "1457772143914843055_4607772970",
"type": "video",
"created_time": "1488000003",
"images": {
"thumbnail": {
"height": 150,
"width": 150,
"url": "https://scontent.cdninstagram.com/t51.2885-15/s150x150/e35/16788643_240567646348968_4950335324904488960_n.jpg"
},
"low_resolution": {
"height": 320,
"width": 320,
"url": "https://scontent.cdninstagram.com/t51.2885-15/s320x320/e35/16788643_240567646348968_4950335324904488960_n.jpg"
},
"standard_resolution": {
"height": 480,
"width": 480,
"url": "https://scontent.cdninstagram.com/t51.2885-15/e35/16788643_240567646348968_4950335324904488960_n.jpg"
}
},
"user": {
"username": "aslapesetme.43kilo",
"full_name": "\u0130nan\u0131rsan Olur",
"id": "4607772970",
"profile_picture": "https://scontent.cdninstagram.com/t51.2885-19/s150x150/16230854_382859295410786_1559541722264895488_a.jpg"
},
"user_has_liked": false,
"link": "https://www.instagram.com/p/BQ7DAqRgPuv/",
"attribution": null,
"location": null,
"likes": {
"count": 22
},
"comments": {
"count": 0
},
"caption": {
"text": "\ud83d\udca08:00\ud83d\udca0 kahvalt\u0131:\n-50 gr. Yulaf\n-1 bardak s\u00fct\n-1 porsiyon meyve ve 1 \u00e7ay ka\u015f\u0131\u011f\u0131 kakao nibs\nNefiiss \ud83d\ude0b \u00e7ok \u015f\u00fck\u00fcr bizi doyuran rabbimize \ud83d\ude4f\ud83c\udffb Ayr\u0131ca frambuaz ve elman\u0131n sadece renk uyumu de\u011fil tat uyumu da m\u00fcthi\u015f deneyin \ud83d\udc7b\n#healtyfood#healthybreakfast#quakeroats#quakeroatmeal#quakerporridge#milk#apple#raspberries#framboise#ahududu#yulaflapasi#yulafezmesi#porridgelover#porridge#cacaonibs#diyet#diyetkardesligi#diyethesaplaritakiplesiyor#inan\u0131rsanolur#sadeceinan#eceilezayifliyorum#doganinguzelligi#dogalbeslen#kendinisev#benimkahvaltim#nofilter#greentea#whitetea#ginger#hediyenhayatinolsun",
"from": {
"username": "aslapesetme.43kilo",
"full_name": "\u0130nan\u0131rsan Olur",
"id": "4607772970",
"profile_picture": "https://scontent.cdninstagram.com/t51.2885-19/s150x150/16230854_382859295410786_1559541722264895488_a.jpg"
},
"created_time": "1488000003",
"id": "17849784529188561"
},
"filter": "Normal"
}
似乎type
设置为video
,但是没有videos
元素。此外,媒体链接(https://www.instagram.com/p/BQ7DAqRgPuv/)似乎指向图像,而不是视频。
看起来它是API响应格式中的错误或最近的更改(我在过去几天看到导入脚本中的错误)或两者都有。
还有其他人观察过这个吗?另外,这是我应该提交给Instagram的吗?
答案 0 :(得分:1)
目前使用的是type="video"
而没有&#34;视频&#34; key意味着它是多图像的帖子。
(看起来这是一个错误,Instagram最终可能会改变它)
答案 1 :(得分:0)
当我尝试更新我的一些代码以使用其新的多图像(或视频)功能时,我也遇到了这个问题。 Instagram现在允许您将多个图像作为单个帖子上传,然后您可以在UI中在它们之间滑动。看起来这在API中并没有真正考虑过,因此多项目帖子会以type=video
的形式返回(如果它们都是type=image
,那么它们应该是type=multi
,或者deleted=0
1}}或其他新事物。
我的用例更令人烦恼的是,他们也没有包含单个帖子中包含的每个不同媒体项目所需的数据,因此我无法完全重新创建多项目帖子,因为我不知道除了“套牌”中的第一张图片之外,我不知道任何其他内容。
答案 2 :(得分:0)
Instagram在没有任何通知的情况下改变了行为
这不是第一次:{{3}}
我正在处理一个处理这个问题的官方客户的分支(和另一个)
pip install --upgrade git+https://github.com/MabrianOfficial/python-instagram.git