更新消息{0}上的Youtube API意外部分

问题描述:

现在正在使用该API一段时间,并且遇到了问题:“youtube.part”上有400个错误的请求。通常情况下不是问题,我想,或许我有指定的inccorrect部分,该错误信息会告诉我什么是错的,我可以很容易地改变它,但是,错误是:更新消息{0}上的Youtube API意外部分

400 Bad Request 
{ 
    "code" : 400, 
    "errors" : [ { 
    "domain" : "youtube.part", 
    "location" : "part", 
    "locationType" : "parameter", 
    "message" : "{0}", 
    "reason" : "unexpectedPart" 
    } ], 
    "message" : "{0}" 
} 

通常在"message": "{0}"它应该告诉你哪部分是错的。在这里搜索一下,我似乎无法找到解决方案,现在我只指定snippet。在构建我的更新请求时,我仅指定snippet.titlesnippet.tags[] & snippet.categoryId

以上是在测试环境中使用,并且请求被授权youtube范围,因为我使用它来将视频上传到相同的YouTube频道。

我自己的想法是它可能是:

  • 不可能直接更新视频,加载它后(但是,它可以列出)

  • 那我莫名其妙地遇到错误

对于那些希望重新什么,我得到,我把我的测试步骤如下:

  1. 设置使用授权证书

  2. 上传一个随机小文件,在通道上的YouTube的实例(设置视频标题等)

  3. 成功返回尝试列出了ID的视频后

  4. 使用该ID,从YouTube

  5. 改变标签部分,留下标题等ü获取视频资源nchanged

  6. 尝试更新和接收错误

任何帮助,将不胜感激,我真的希望这不是一个显而易见的解决方案:)

发生这种情况时,您的视频更新请求没有按列出您正在发送的视频对象中包括的所有部分。例如,如果您的视频对象具有片段和状态(因为你使用video.setSnippetvideo.setStatus),在更新方法的第paremeter能够列出两​​个部分:

Video ve = listVids[0]; 
ve.setStatus(...) 
ve.setSnippet(...) 
... 
YouTube.Videos.Update updateVideosRequest = youtube.videos().update("snippet, status", ve); 
Video videoResponse = updateVideosRequest.execute(); 

通知的youtube.videos().update的第一个参数,它有包括状态和片段。

希望这可以帮助你。

+0

对不起,回复迟了,忙于其他地方。所以你是正确的,这个错误不是由创建'Youtube.Videos'造成的。更新“,但在上一步。我们首先列出视频以确保其存在,然后使用该视频作为更新的基础。 列表请求有更多的零件部分指定,从而引发错误。谢谢您的帮助 – Opelmac