ScriptApp.IdentityToken
Class ScriptApp  |  Apps Script  |  Google Developers
Cloud Runなどで、制限付きアクセスをした場合には、Authorization: Bearer ${TOKEN} という形でレクエストを投げるけど、
この TOKENは、AccessTokenではなく、IdentityToken
で、ScriptApp.getIdentityToken()で取得できるけど、
気をつける?のは、
Google Apps Scriptの appsscript.jsonに明示的に、oauthScopesの中に設定を入れる必要がある。
追加のユーザー情報をトークンで返すように、スコープ https://www.googleapis.com/auth/userinfo.email または https://www.googleapis.com/auth/userinfo.profile を含めます。
emailの方を含めないと、id_tokenに emailの情報が入らない。認証に十分な情報になる?ならない?
そうしないと、nullが返ってきていて、401とかになる。
JWTなので、Logger.logなどで、tokenが取れているかを確認して、ついでに、
https://jwt.io/ で情報をcheckするのが(精神上)よい。
更に、
Call Cloud Run from App Script: The easy way | by guillaume blaquiere | Google Cloud - Community | Medium
identityTokenの、audienceは、その google cloudのproject numberをprefixにもつ文字になる?
audienceとは?
oauth - JWT (Json Web Token) Audience "aud" versus Client_Id - What's the difference? - Stack Overflow