libro
www.tuyano.com
初心者のためのGoogle Apps Scriptプログラミング入門

Google Drive APIによるファイル管理 (5/5)

作成:2013-05-26 10:59
更新:2013-06-12 08:09

■ユーザーとの共有設定の操作

Googleドライブでは、ファイルにユーザーを追加して簡単に共有することができます。これも、スクリプトで簡単に設定できるのです。ただし、操作そのものは簡単ですが、そのために用意されているメソッドはやたらとたくさんあるので整理しておかないといけません。


・閲覧者を追加する
《File/Folder》.
    addViewer( メールアドレス );
《File/Folder》.
    addViewer( Userオブジェクト );

・閲覧者を削除する
《File/Folder》.removeViewer( メールアドレス );
《File/Folder》.removeViewer( Userオブジェクト );

・共同編集者を追加する
《File/Folder》.addEditor( メールアドレス );
《File/Folder》.addEditor( Userオブジェクト );

・共同編集者を削除する
《File/Folder》.removeEditor( メールアドレス );
《File/Folder》.removeEditor( Userオブジェクト );

・オーナーを設定する
《File/Folder》.setOwner( メールアドレス );
《File/Folder》.setOwner( Userオブジェクト );

誰かとファイルやフォルダを共有するとき、そのユーザーのアクセス権を考えなければいけません。Googleドライブでは、「閲覧者」「共同編集者」「オーナー」という3つのアクセス権があり、それぞれにメソッドが用意されています。

注意したいのは、「オーナー」です。閲覧者と共同編集者は、それぞれ「add~」「remove~」といったメソッドがありますが、オーナーは「setOwner」のみです。オーナーは何人も追加したり削除したりできず、常に一人だけだ、ということを忘れないように。

引数には、Userオブジェクトか、あるいはGoogleアカウントとして登録されているメールアドレスの文字列を指定します。

では、これも利用サンプルを下にあげておきましょう。先に作成したマップのイメージファイル作成の例を修正したものです。マップの住所とメールアドレスを入力すると、その住所の地図のイメージファイルを作成した後、入力したメールアドレスを閲覧者として追加します。

閲覧者の追加は、最後の「addViewer」ただ1行だけで済んでいます。実に簡単にアクセス権が操作できることがわかりますね!

※プログラムリストが表示されない場合

AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。

●プログラム・リスト●

function myFunction(){
  var sheet = SpreadsheetApp.getActiveSheet();
  var address = Browser.inputBox("address:");
  var mail = Browser.inputBox("mail:");
  var blob = Maps.newStaticMap().setCenter(address).getBlob();
  var file = DriveApp.createFile(blob);
  file.addViewer(mail);
}

※関連コンテンツ

「初心者のためのGoogle Apps Scriptプログラミング入門」に戻る