見出し画像

#102 組織内の共有ドライブの一覧を作成する(補足)

以前に作成した管理者向けの GAS のプログラム。

一定の目的は達成できていたものの、以下のように「作成日」や「使用容量」は表示できていませんでした。

#69 組織内の共有ドライブの一覧を作成する|ともかつのノート

その後、以下 URL のスタック・オーバーフローの情報をもとに、プログラムを修正して、「作成日」については表示できるようになりました!

元記事で配布している方のリンク先も更新してありますが、「作成日」も一覧に出力されるようになりました。 ※下図のプレビュー画面には、横幅の都合で表示されていませんが、列 H「作成日時」が追加してあります。

https://docs.google.com/spreadsheets/d/1KiAfVjVcFLkFLcdRwu2K92TSBUNyNYHxClpdKro9XH8/template/preview

作成したスプレッドシート+ GAS のイメージ

どうやって「作成日時」を取得した?

実際のプログラムでは、主に以下の部分で変更を加えています。

実際のプログラムで変更した箇所
        'fields': "items(name,createdDate,id,kind),nextPageToken",

注意しなければならないのは、fields を既定値から変更した場合、指定されているものしか出力されなくなってしまうので、目的の createdDate を追加するだけではなく、これまで出力されていたものも指定しなければなりません。

特に、nextPageToken を記述しておかなければ、API からのデータ取得が一度で終わらない場合には、一回目の読み込みだけで処理が続かなくなってしまいます。
この辺りの API に追加パラメータを指定する作法は、経験しないとわからない部分だと思いますが、注意が必要です。

Google の API を使っても目的のフィールドが得られない場合には、このように fields に目的のフィールドを指定しなければならないケースがあることを覚えておいてください! 今回の変更で、一つ勉強になりました。👍

「使用容量」依然として得られません

今回のプログラムでは、以下の API で共有ドライブの情報を取得していますが、この API で得られる Resource: Drive には「使用容量」に相当するフィールドが見当たりませんでした。 

がんばって処理(当該フォルダ内のファイルサイズを積算)すれば算出できないことはないのですが、管理コンソールで一覧を表示するときに、そのような操作を行っているとは思えないので、何か別の方法があるんだと思いますが、現時点ではどうすればいいのかわかりません…
また、そのあたりがわかったら補足します…

今回のプログラムは、管理者向けのもので、各個人が実行できるものではありませんが、API の利用について参考になる部分があれば幸いです。

この記事が気に入ったらサポートをしてみませんか?