本文介紹了更新消息{0}上的YouTube API意外部分的處理方法,對(duì)大家解決問題具有一定的參考價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧!
問題描述
使用該API有一段時(shí)間了,遇到了一個(gè)問題:youtube.part上的400錯(cuò)誤請(qǐng)求。正常情況下不是問題,我想可能是指定了不正確的部分,錯(cuò)誤消息會(huì)告訴我錯(cuò)誤的地方,我可以很容易地更改它,然而,錯(cuò)誤如下:
400 Bad Request
{
"code" : 400,
"errors" : [ {
"domain" : "youtube.part",
"location" : "part",
"locationType" : "parameter",
"message" : "{0}",
"reason" : "unexpectedPart"
} ],
"message" : "{0}"
}
通常在"message": "{0}"
中,它應(yīng)該會(huì)告訴您哪里出了問題。在這里搜索了一下,我似乎找不到解決方案,現(xiàn)在我只指定snippet
。在構(gòu)建我的更新請(qǐng)求時(shí),我只指定了snippet.title
snippet.tags[]
&;snippet.categoryId
。
以上是在測(cè)試環(huán)境中使用的,請(qǐng)求在youtube
范圍內(nèi)獲得授權(quán),因?yàn)槲沂褂盟鼘⒁曨l上傳到同一個(gè)YouTube頻道。
我自己的想法可能是:
無法在加載視頻后直接更新視頻(但可以列出)
我不知何故遇到了錯(cuò)誤
對(duì)于那些希望重現(xiàn)我所得到的東西的人,我在測(cè)試中采取了以下步驟:
使用授權(quán)憑據(jù)設(shè)置YouTube實(shí)例
將隨機(jī)小文件上傳到頻道(設(shè)置視頻標(biāo)題等)
嘗試按ID列出視頻成功返回后
使用此ID從YouTube檢索視頻資源
更改標(biāo)記部分,保留標(biāo)題ETC不變
嘗試更新并收到錯(cuò)誤
任何幫助都將不勝感激,我真的希望這不是一個(gè)顯而易見的解決方案:)
推薦答案
當(dāng)您的視頻更新請(qǐng)求未列出您要發(fā)送的視頻對(duì)象中包含的所有部分時(shí),會(huì)發(fā)生這種情況。例如,如果您的視頻對(duì)象有代碼片段和狀態(tài)(因?yàn)槟褂昧?code>video.setSnippet和video.setStatus
),則更新方法中的第一個(gè)參數(shù)必須列出這兩個(gè)部分:
Video ve = listVids[0];
ve.setStatus(...)
ve.setSnippet(...)
...
YouTube.Videos.Update updateVideosRequest = youtube.videos().update("snippet, status", ve);
Video videoResponse = updateVideosRequest.execute();
請(qǐng)注意youtube.videos().update
的第一個(gè)參數(shù),它同時(shí)包含狀態(tài)和代碼段。
希望這能幫助您。
這篇關(guān)于更新消息{0}上的YouTube API意外部分的文章就介紹到這了,希望我們推薦的答案對(duì)大家有所幫助,