1

「id」を指定しましたが、常に「必須パラメータ:id」というエラーが返されます。

ところで、通常のリクエスト(つまり非バッチ)を使用する場合、同じコード

:api_method => yt.playlist_items.delete,
:parameters => {:id => ids[0]}

エラーなしで成功します。しかし、バッチリクエストを使用すると、常に失敗します!!

これが私のコードです

require 'google/api_client'

client = Google::APIClient.new(:application_name => 'YouBoard', :application_version => '1.0')
yt = client.discovered_api('youtube', 'v3')
client.authorization.access_token = 'Some Access Token'

response = client.execute!(
  :api_method => yt.playlist_items.list,
  :parameters => {
    :playlistId => pid,
  :part => 'id'
}
)

# Get playlist_item's id
ids = response.data.items.collect {|x| x.id}

batch = Google::APIClient::BatchRequest.new() do |result|
  p result.data
end

batch.add(
 :api_method => yt.playlist_items.delete,
 :parameters => {:id => ids[0]}
)

client.execute!(batch)

ここにエラーがあります

"error"=>{"errors"=>[{
"domain"=>"global", 
"reason"=>"required", 
"message"=>"Required parameter: id", 
"locationType"=>"parameter", 
"location"=>"id"}], "code"=>400, "message"=>"Required parameter: id"}}
4

1 に答える 1

0

これは、Google API Ruby クライアント ライブラリのバグによるものです。ライブラリの問題トラッカーでフォローアップしました: https://code.google.com/p/google-api-ruby-client/issues/detail?id=79

于 2013-02-13T18:24:06.330 に答える