作成したラッパーを使用して、ドライブアカウントの特定のクエリに一致するファイルを取得しています
files = get_files_by_query session, "title = 'Competitors' and trashed = false"
これにより、Google :: APIClient :: Schema :: Drive :: V2::Fileオブジェクトの配列が返されます。
Railsコンソールから、配列の最初のファイルの親を取得できます。
files.first.parents.first.id
ただし、isRootを取得しようとすると
files.first.parents.first.isRoot
次のエラーが発生します
TypeError: Expected boolean, got NilClass.
親の内容を調べると、ハッシュが表示され、isRootが明らかにfalseまたはtrueであるが、nilになることはないため、これは非常に奇妙です。
これが関連しているかどうかはわかりませんが、エラーの直後です。最初のコマンドを再試行した場合
files = get_files_by_query session, "title = 'Competitors' and trashed = false"
結果は、Google :: APIClient :: Schema :: Drive :: V2 :: Fileオブジェクトではなく、Hashオブジェクトの配列として返されます。
以下は、上記で使用したラッパーです。
def get_files_by_query session, query
get_files session, {'q' => query}
end
def get_files session, parameters
drive = session.discovered_api("drive", "v2")
result = session.execute(api_method: drive.files.list, parameters: parameters)
if result.status == 200
files = result.data.items
else
puts "An error occurred: #{result.data['error']['message']}"
end
end
ありがとう!