web-dev-qa-db-ja.com

フォルダ内のファイルのリスト/ DRIVE API PyDRIVE

フォルダを変更して中身を表示できません。

drive = GoogleDrive(gauth)
file_list = drive.ListFile({'q': "'root' in parents and trashed=false"}).GetList()
for file1 in file_list:
print("File %s\n\n",(file1))

次のコードを使用しました。

file_list = drive.ListFile({'q': "'/test1' in parents and trashed=false"}).GetList()

しかし、それは機能しません。私が使用した関数のドキュメントがあります: https://developers.google.com/drive/v3/reference/files/list

7
simone989

パスの代わりにフォルダIDを挿入する必要があります。 IDはさまざまな方法で取得できます。

  1. PyDriveの使用:ルート内のすべてのフォルダーを一覧表示すると、すべてのフォルダー名とそれぞれのIDを一覧表示できます。
  2. Webインターフェイスの使用:IDを取得するフォルダーに移動します。 URLを見てください、それはこのフォーマットを持っています:drive.google.com/drive/u/0/folders/<folder ID>

次に、フォルダIDをリクエストに挿入します。

file_list = drive.ListFile({'q': "'<folder ID>' in parents and trashed=false"}).GetList()

参考:Googleドライブはタグベースの(セマンティックとも呼ばれる)ファイルシステムであり、たとえば、ファイルのparentsにフォルダのIDを追加するだけで、ファイルを同時に複数の場所に配置できます。プロパティ)。

28
Robin Nabel

私は https://stackoverflow.com/a/47764444/1003629 同様の問題を解決し、あなたを助けるはずだと思います。ここでの問題は、必要なフォルダーへのアクセス許可です。これは、デフォルトではルートのみです。

0
Shivendra