GoogeDrive で特定のファイルを期間限定公開する方法を考える
GoogleDriveで何かのファイルを共有するときに、期間限定で共有したい場合があると思うんです。
しかしGoogleDriveの標準機能では共有期間を設定する方法が無かったと思います。
そこで、Googel Apps Script で出来ないかと思ってしらべてみました。
そしたら File.setSharing() という関数を見つけました。
Class File | Apps Script | Google Developers
これをこんなふうに使えば、特定のファイルの共有設定を off にできます。
function myFunction() { var GoogleDriveFileID="[ファイルのID]"; var GoogleDriveFile=DriveApp.getFileById(GoogleDriveFileID); GoogleDriveFile.setSharing(DriveApp.Access.PRIVATE, DriveApp.Permission.NONE); }
あとはこれを共有期間終了後に実行してやればよいわけです。
ただし個別のファイル毎にこういう関数を作るのは無駄な作業となりますので、Google Spreadsheet でファイル一覧と共有期限を記入した台帳を作成し、それをトリガーで1日1回チェックして期限が過ぎているものを共有停止にするように実装すればよさげです。
ここらへんの実装は別の機会に。