search
LoginSignup
11

More than 3 years have passed since last update.

posted at

updated at

【GAS】GmailAppに対するマニフェスト設定

概要

2018/09/01以降、スプレッドシートのGASでGmailApp.sendEmailを使うと以下のエラーが出る。
スクリーンショット 2018-09-02 23.21.50.png

これの対応方法をメモ程度にまとめました。

マニフェストの確認

  1. [ファイル]から[プロジェクトのプロパティ]を選択
    スクリーンショット 2018-09-02 23.25.05.png

  2. [スコープ]を選択するとデフォルトで設定されているマニフェストが見える
    ※今回のエラーはここに必要なマニフェストが無いことで出ている
    スクリーンショット 2018-09-02 23.25.13.png

マニフェストの設定

  1. [表示]から[マニフェストファイルの表示]を選択
    スクリーンショット 2018-09-02 23.30.15.png

  2. マニフェストの追加
    マニフェストファイルのappsscript.jsonはデフォルトでは以下のようになっている

appsscript.json
{
  "timeZone": "Asia/Tokyo",
  "dependencies": {
  },
  "exceptionLogging": "STACKDRIVER"
}

ここにoauthScopesを追記して、内容に既存のhttps://www.googleapis.com/auth/script.send_mailhttps://www.googleapis.com/auth/spreadsheetsを加えてhttps://www.googleapis.com/auth/gmail.modifyを記述する

appsscript.json
{
  "timeZone": "Asia/Tokyo",
  "oauthScopes": ["https://www.googleapis.com/auth/script.send_mail",
                  "https://www.googleapis.com/auth/spreadsheets",
                  "https://www.googleapis.com/auth/gmail.modify"
  ],
  "dependencies": {
  },
  "exceptionLogging": "STACKDRIVER"
}

以上の対応で、GmailApp.sendEmailが動くようになりました。
スクリプト起動時にGmailへのアクセス許可を求められるので、それはOKしておいてください。

まとめ

  • いきなりの仕様変更で動かなくなったことには焦ったけど、GmailAppからMailAppに変えて対応は出来た。
  • しかもメール配信速度はMailAppのが早い
  • ただ放置が気持ち悪かったので、一応解決した感じ。
  • また別のところで権限周りの問題が起きたときは、同対応で解決出来そう

参考記事

Google Apps Scriptに追加されたマニフェストについて

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
What you can do with signing up
11