

以前は実行できていたGASのコードから、Gmailを送信するコードをコピペして来たところ、送信エラーになりました。コードは以下の通りです。

[code]

    function send_mail() {
      var recipient = 'recipient@example.com';
      var subject = 'foo';
      var body = 'baz\n';
      var options = { name: 'bar' };
      GmailApp.sendEmail(recipient, subject, body, options);
    }
    
[/code]

上記の関数を実行すると、まず実行権限を与えますかという表示がおき、「許可」をクリックするのですが、以下のようなエラーになります。

> アクセスが拒否されました: : Missing access token for authorization. Request:  
>  MailboxService.SendMessage。 (line 143, file "SpreadSheetCode")

line 143は

[code]

      GmailApp.sendEmail(recipient, subject, body, options);
    
[/code]

の部分です。

appsscript.jsonは以下の通りです。

[code]

    {
      "timeZone": "Asia/Tokyo",
      "dependencies": {
      },
      "webapp": {
        "access": "DOMAIN",
        "executeAs": "USER_ACCESSING"
      },
      "exceptionLogging": "STACKDRIVER",
      "oauthScopes": ["https://www.googleapis.com/auth/spreadsheets.currentonly",
              "https://www.googleapis.com/auth/script.send_mail",
              "https://www.googleapis.com/auth/spreadsheets",
              "https://www.googleapis.com/auth/gmail.modify",
              "https://www.googleapis.com/auth/gmail.send",
              "https://www.googleapis.com/auth/gmail.compose",
              "https://mail.google.com/",
              "https://www.googleapis.com/auth/gmail.addons.current.action.compose"]
    }
    
[/code]

メール発信者と受信者は、同じ組織に所属しています。

どうすればメールがエラーなく送信できるでしょうか。  
よろしくお願いいたします。

**追記**  
`GmailApp.sendEmail()` の代わりに `MailApp.sendEmail()`
にすると動作しました。ただ以前はGmailAppでも動作していましたし、この２つの違いも分かりません。


CC BY-SA 4.0
2020-01-20T05:11:36.243
62377
2020-01-21T00:44:17.483
2020-01-21T00:44:17.483
3060
26673
question
javascript google-apps-script gmail
メール送信でauthorizationエラー


March 10, 2016付けの記事 [Change to Mail Service in Apps
Script](https://cloud.google.com/blog/products/application-development/change-
to-mail-service-in-apps-script) に、

> Starting on September 13, 2016, [中略] Google Apps customer who doesn’t use
> Gmail, but uses Apps Script instead, can send emails through MailApp but not
> GmailApp.

[直訳] 2016/09/13以降、Google Appsの利用者でGmailを利用せず、代わりにApps
Scriptを利用している方は、emailをMailAppを介して送る事が出来ますが、GmailAppを介しては出来ません。

との記述があります。

以前できていたというのが、2016年9月12日以前なのであれば、上記の記事が関係している可能性が高いのではないでしょうか。  
記事を参考にしてGoogleのアカウントを取り、そのprimary mail
addressをGmailのものにする等の設定をすれば、MailAppでもGmailAppでもメールが送れるようになるのではないかと思われます。


CC BY-SA 4.0
2020-01-20T08:31:44.103
62384
2020-01-20T08:31:44.103
217
62377
answer