質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Google Colaboratory

Google Colaboratoryとは、無償のJupyterノートブック環境。教育や研究機関の機械学習の普及のためのGoogleの研究プロジェクトです。PythonやNumpyといった機械学習で要する大方の環境がすでに構築されており、コードの記述・実行、解析の保存・共有などが可能です。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

0回答

3842閲覧

Google Colaboratory 共有ドライブ内の特定フォルダのフォルダ名とフォルダIDを対で一覧を取得したい

s.kono

総合スコア37

Google Colaboratory

Google Colaboratoryとは、無償のJupyterノートブック環境。教育や研究機関の機械学習の普及のためのGoogleの研究プロジェクトです。PythonやNumpyといった機械学習で要する大方の環境がすでに構築されており、コードの記述・実行、解析の保存・共有などが可能です。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

1クリップ

投稿2020/02/10 03:55

MyDriveでは出来ますが社内共有ドライブでフォルダID一覧が取得出来ません。

何か方法がありますでしょうか。

環境
G Suite Business
自身には共有ドライブを作成する権限はないので、作成してもらい、利用している共有ドライブです。メンバー情報をみると自分が管理者です。
https://developers.google.com/drive/api/v2/search-shareddrives
リンク先の意味するアドミニ権限はドメイン=組織全体の管理権限のことなのでしょうか?

次のコードはマイドライブのフォルダIDだと取得できますが共有ドライブでは出来ません。

python

1from pydrive.auth import GoogleAuth 2from pydrive.drive import GoogleDrive 3from google.colab import auth 4from oauth2client.client import GoogleCredentials 5 6auth.authenticate_user() 7gauth = GoogleAuth() 8gauth.credentials = GoogleCredentials.get_application_default() 9drive = GoogleDrive(gauth) 10 11#マイドライブは次のコードで取れる 12dir_id = 'xxxidxxx' 13folder_list = drive.ListFile({'q': "'%s' in parents and trashed=false" % dir_id}).GetList() 14for f in folder_list: 15 print("マイドライブ name: " + f["title"] + ", id: " + f["id"]) 16 17#共有ドライブは取れない 18dir_id = 'xxxidxxx' 19shrefolder_list = drive.ListFile({'q': "'%s' in parents and trashed=false" % dir_id}).GetList() 20for f in sharefolder_list: 21 print("共有ドライブ name: " + f["title"] + ", id: " + f["id"])

エラー内容

pyhon

1NameError Traceback (most recent call last) 2<ipython-input-14-076df17e7b6b> in <module>() 3 8 #sharefolder_list = sharedrive.ListFile({'q': "driveId='%s' and trashed=false" % dir_id}).GetList() 4 9 shrefolder_list = drive.ListFile({'q': "'%s' in parents and trashed=false" % dir_id}).GetList() 5---> 10 for f in sharefolder_list: 6 11 print("共有ドライブ name: " + f["title"] + ", id: " + f["id"]) 7 8NameError: name 'sharefolder_list' is not defined

また次のコードでは共有ドライブ内フォルダ名は取得できますが、IDは取得できません。

Python

1import os 2from google.colab import drive 3drive.mount('/content/gdrive') 4 5import pathlib 6import glob 7import pprint 8 9db_path = '/content/gdrive/Shared drives/特定のフォルダ名/' 10l_dir = glob.glob(db_path + '**/**/') 11print(l_dir)

記述方法が共有フォルダでは異なるのだろうと思われますがそもそも可能なのかも調べきれませんでした。

ご教授よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問