Google Drive連携

Google Apps Scriptで実装したもの

App Scriptにて作成。LastUpdateにて降順で初期はソートさせている。getOwnerは権限の関係で使えない為不採用。

また、GAS側のバグのせいでLastUpdate・DataCreatedとサイトのタイムゾーン、スクリプトのタイムゾーンをきちんと設定しているにも関わらず、表示する際にはアメリカ時間で表示されるため、日付は文字列型で設定し、Utilities.formatDateにてAsia/Tokyoを指定し変換を掛けた値を入れている。仕組み上、各レコードにURLの指定はできない。

ガジェットで実装したもの

こちらはガジェットを利用して作成したもの。List Drive Filesにスクリプトが書かれており、5分置きにファイルリストが更新されるトリガーが仕込んである。

トリガーが発動するとファイル一覧が更新される仕組みであるが、単一のファイルで仕込めるのは1つのディレクトリIDのみなので、複数のディレクトリにまたがる場合、2つの更新ファイル一覧を作らないといけない。こちらは、ファイル名にURLがついているので、ファイルを直接開くことが出来る(単一ディレクトリな件は、コードを大幅に書き直す必要があるかもしれない。)。現在は東京事務所のファイルのみ表示。

※いずれも、スクリプトは使用者の権限で動く。しかし、2つ目はファイルのオーナーであるため、より上級の権限を持つものでなければ、ファイル閲覧は作成者レベルにとどまる。

参考URL

  1. 初心者のためのGoogle Apps Scriptプログラミング入門:
  2. Google Apps Script で Google Drive を操作する – ファイル情報の取得
  3. Google Apps ScriptでGoogle DriveのファイルリストをDashBoardに表示する
  4. Class TableChartBuilder - Google Developers
  5. Class Utilities - Google Developers
  6. GASの怖い話と対策となんか
  7. strange permission issue with getOwner method in google apps script
  8. Google Web Toolkit - Showcase of Features