1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

[GAS] シン・相手へ通知なしでファイル閲覧権限を付与する方法(Drive API V3対応)

Last updated at Posted at 2024-01-25

以前どこかで、メール通知をしないで、ファイルの共有設定をするGASがあって、大いに参考にさせてもらいました。
メール通知をしないためには、DriveApiを使うんだそうです。
サンプルプログラムでは、Drive API V2を使っていました。

GASのコードエディタで、サービスにDrive APIを追加し、バージョンはV2、IDはディフォルトのDriveを設定して、以下のコードでメール通知なしで、任意のユーザを閲覧者として共有出来ます。

Drive.Permissions.insert(
    {
      'role': 'reader',
      'type': 'user',
      'value': '[任意のユーザーのメールアドレス]',
    },
    ファイルID,
    {
      'sendNotificationEmails': 'false',   //"false"にすると通知メールを飛ばさない(ミソ)
      'supportsAllDrives': 'true'          //仕様によりこうしないとFileNotFoundになる。
    }
);

今回は、これを、Drive API V3用に書き換えます。
V3では、パラメーターの渡し方が色々あるみたいです。今回は、とりあえず出来たレベルなのでもっと良いコードに出来ると思います。
しかし、V3に対応したコードネット上に見つからなかったため、上げておきます。

まず、GASのコードエディタで、サービスにDrive APIを追加し、バージョンはV3、IDはディフォルトのDriveを設定します。
そして、以下のコードでメール通知なしで、任意のユーザを閲覧者として共有出来ます。
コメントで修正箇所を明記しておきます。

Drive.Permissions.create( // <- insertから変更。
    {
      'role': 'reader',
      'type': 'user',
      'emailAddress': '[任意のユーザーのメールアドレス]', // <- valueから変更。
    },
    ファイルID,
    {
      'sendNotificationEmail': 'false',   // <- sendNotificationEmailsから変更。
      'supportsAllDrives': 'true'
    }
);
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?