pslaboが試したことの記録

はてなダイヤリーからはてなブログに引っ越してきました

この日記は現在実行中の減量記録を含む個人的なメモとして始めましたが、最近はコンピュータやガジェット、ハック、セキュリティネタのほうがメインになっております。

はてなダイヤリー時代はカテゴリ分けが適当だったのですが、これはそのうち直します。


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回チェックして期限が過ぎているものを共有停止にするように実装すればよさげです。

ここらへんの実装は別の機会に。