1

我正嘗試使用Data API將字幕上傳到YouTube。不過,我無法在參考資料或論壇中找到Ruby中的任何示例。具體如何發送實際的標題文件(xml)。上傳字幕YouTube數據API ruby​​

body = { 
    :snippet => { 
     :videoId => videoId, 
     :language => "English", 
     :name => "English" 
    } 
    } 
    captions_insert_response = client.execute(
    :api_method => youtube.captions.insert, 
    :parameters => { 
     :part => body.keys.join(',') 
    }, 
    :body_object => body 
) 

在哪裏以及如何添加標題文件?我試圖像上傳視頻一樣,但似乎沒有工作。後加入這行「:body_object」

:media => Google::APIClient::UploadIO.new(captions_file, 'text/xml') 

感謝

回答

0

我解決了改變的片段,以「EN」的語言問題。 這是完整的請求,如果有人需要它。

body = { 
    :snippet => { 
     :videoId => videoId, 
     :language => "en", 
     :name => "English" 
    } 
    } 
    captions_insert_response = client.execute(
    :api_method => youtube.captions.insert, 
    :body_object => body, 
    :media => Google::APIClient::UploadIO.new(captions_file, 'text/xml'), 
    :parameters => { 
     'uploadType' => 'multipart', 
     :part => body.keys.join(',') 
    } 
) 
+0

試圖實現相同的功能,但每次都收到錯誤'insufficientPermissions'。可能你有想法爲什麼? – Ponf

+1

獲取客戶端和YouTube對象(身份驗證)時,請使用scope =「https://www.googleapis.com/auth/youtube.force-ssl」。這應該給你必要的權限。現在讓我來,如果你需要更多的幫助 – sebastian

+0

謝謝!隨着範圍它工作正常!現在我有下一個錯誤:(我使用標誌':sync => true',因爲我上傳了原始文本並希望YouTube自動設置時間戳。我成功上傳了字幕,在Web UI中查看它們,並且可以下載相同的文件。但他們的狀態是'曲目內容未處理'https://s.mail.ru/5M1ERcaaj2o7/img-2015-12-16-17-49-12.png :( – Ponf