我通過google-api-client (0.6.4)
紅寶石寶石使用YouTube API v3與OAuth2 for authentication試圖update
和delete
視頻。然而,當我嘗試執行這兩種動作,我看到了以下錯誤消息:用的OAuth2的YouTube API第3版:UPDATE和DELETE失敗,出現「權限不足」的錯誤
Google::APIClient::ClientError: Insufficient Permission
下面是奇怪的事情:使用完全相同的認證過程與update
和delete
,我可以insert
(上傳)成功,沒問題!所以,我不認爲這是我的身份驗證設置的問題,而是我的代碼中的其他位置。
我的讀寫scope
始終是通過這些操作是一樣的:
https://www.googleapis.com/auth/youtube https://www.googleapis.com/auth/youtube.upload
並根據API文檔,該空間分隔設置範圍的應涵蓋insert
,update
和delete
行動。
我的client_id
,client_secret
,refresh_token
對於所有這些操作都是一樣的 - 所以,這也不是問題,可以嗎?請注意,當程序到期時,我的程序會自動獲得新的access_token
,因此,我不認爲問題出在哪裏。
比較,這裏是我的insert
(上傳)代碼如下所示(這個工程):
# Auth stuff, then...
@client.execute!(
:api_method => @youtube.videos.insert,
:body_object => body,
:media => Google::APIClient::UploadIO.new(file_path, 'video/*'),
:parameters => {
'uploadType' => 'multipart',
:part => body.keys.join(','),
}
)
這裏是我的delete
代碼如下所示(失敗):
# Auth stuff, then...
@client.execute!(
:api_method => @youtube.videos.delete,
:parameters => {
'id' => youtube_id,
}
)
我錯過了什麼?不幸的是,YouTube API documentation for delete沒有提供任何示例,所以我沒有什麼可比較的。請讓我知道,如果有更多的信息可以提供給我更清晰的問題。
下面是另一種生成刷新令牌以插入代碼的方式:http://www.youtube.com/watch?v=hfWe1gPCnzc –
您是否可以請類似的問題[將視頻上傳到YouTube並使用YouTube將其添加到播放列表中Data API v3 in Python](http://stackoverflow.com/questions/22174090/uploading-video-to-youtube-and-adding-it-to-playlist-using-youtube-data-api-v3-i)? –
我有同樣的錯誤,但爲了更新,您需要添加讀寫ssl作用域。通過此鏈接推薦:https://developers.google.com/youtube/v3/docs/videos/update –