Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
11
Help us understand the problem. What are the problem?

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に追加されたマニフェストについて

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
11
Help us understand the problem. What are the problem?