0

フォルダーの内容を取得するには、次の URL https://www.googleapis.com/drive/v2/files?q= 'root' を使用する必要があるため、追加のパラメーターを渡すことで機能するはずだと考えました

    @client.execute(
    :api_method => @drive.files.list ,
    :parameters =>{q=> "title='root'" })

しかし、これは機能しません

エラーが発生しました: {"errors"=>[{"domain"=>"global", "reason"=>"invalid", "message"=>"Invalid Value", "locationType"=>"parameter"," location"=>"q"}], "code"=>400, "message"=>"無効な値"}

これは、リクエスト uri を見ると明らかです。

https://www.googleapis.com/drive/v2/files?q=title%253D%27levelA%27

私の最初の試みは、どちらも機能しない URI.encode "title='root'" を使用することでした。一重引用符を保持する方法が本当にわかりませんか?

ベスト、フィリップ

ps: 上記の gem http://rubydoc.info/github/google/google-api-ruby-client/framesへのリンク

4

1 に答える 1

1

わかりました、非常に面倒なものですが、実用的な解決策を見つけました。

search = CGI.escape("q='root'")
u.query = search
u= Addressable::URI.parse "https://www.googleapis.com/drive/v2/files"
req=Google::APIClient::Request.new(:uri=> u)
client.execute req

これが誰かに役立つことを願っています..

于 2013-01-22T21:40:15.753 に答える