使用YouTube v3 API更新标题和描述



我使用YouTube Data API v3成功上传视频到YouTube。没有使用第三方库。现在我想更新一个上传视频的标题和描述,但这似乎是不可能的!

这应该是一个很简单的问题,但是YouTube拒绝接受这个简单的查询:

curl --insecure -v -i -X PUT -H "Content-Type: application/json" -H "Authorization: Bearer ACCESS_TOKEN_FROM_GOOGLE_HERE" -d '{"id":"YOUTUBE_VIDEO_ID_HERE","snippet":{"title":"My title","description":"My description","categoryId":"22"}}' "https://www.googleapis.com/youtube/v3/videos?part=snippet"

即使我非常确定视频确实存在,YouTube服务器也会这样响应:

{
 "error": {
  "errors": [
   {
    "domain": "youtube.video",
    "reason": "videoNotFound",
    "message": "The video that you are trying to update cannot be found. Check t
he value of the u003ccodeu003eidu003c/codeu003e field in the request body to
 ensure that it is correct.",
    "locationType": "other",
    "location": "body.id"
   }
  ],
  "code": 404,
  "message": "The video that you are trying to update cannot be found. Check the
 value of the u003ccodeu003eidu003c/codeu003e field in the request body to e
nsure that it is correct."
 }
}

谁能告诉我低级命令(不能使用第三方库)成功更新上传视频的标题和描述?最好使用curl

更新:

我可以使用delete API删除文件。因此,ID确实是正确的。

看起来你可能错过了"kind"的值

curl --insecure -v -i -X PUT -H "Content-Type: application/json" -H "Authorization:  Bearer ACCESS_TOKEN_FROM_GOOGLE_HERE" -d '{"id":"YOUTUBE_VIDEO_ID_HERE","kind":"youtube#video","snippet":{"title":"My title","description":"My description","categoryId":"22"}}' "https://www.googleapis.com/youtube/v3/videos?part=snippet"

不知道为什么,但是如果我包括实际上传的整个json响应,它就可以工作了。也就是说,为了更新描述,我执行以下操作:

  1. 上传视频。
  2. 等待响应
  3. 解析json响应并替换描述文本
  4. 用新的json更新视频

因此,使用剥离的json更新似乎不起作用。

相关内容

  • 没有找到相关文章

最新更新