Help us understand the problem. What is going on with this article?

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

More than 1 year has passed since last update.

概要

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

hisayuki
IT系ノマドワーカーです。主にWeb系だけどRuby未経験、PHPはあんま好きじゃない。メインはJVM言語、そろそろ他のやりたいなって思えてきてる。 最近使ってる: aws/terraform/spring/kotlin/Angular/Typescript/DDD/github/CICD 興味ある: serverless/自動化/gcp
https://hisa-tech.site
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
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  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
ユーザーは見つかりませんでした