我使用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 \u003ccode\u003eid\u003c/code\u003e 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 \u003ccode\u003eid\u003c/code\u003e field in the request body to e
nsure that it is correct."
}
}
有人可以告诉我低级命令(不能使用第三方库)来成功更新上传视频的标题和说明吗?最好使用 curl 。
我可以使用delete API删除该文件。因此,ID确实是正确的。
答案 0 :(得分:3)
看起来你可能错过了“善意”的价值。
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"
答案 1 :(得分:0)
不确定原因,但如果我包含实际上传的整个json
响应,则可行。也就是说,要更新说明,请执行以下操作:
因此,使用剥离的json进行更新似乎不起作用。