0

作成したラッパーを使用して、ドライブアカウントの特定のクエリに一致するファイルを取得しています

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

ありがとう!

4

1 に答える 1

0

これはコメントで取り上げられて以来、FYIの多くが取り上げられましたが、これを引き起こした問題は、しばらくの間クライアントライブラリで修正されています。

于 2012-10-05T21:11:29.337 に答える