2025年1月16日木曜日

Google Apps Script の IDE の実行におけるきめ細かい OAuth の同意

この記事は 1 月 8 日に英語版ブログに掲載された記事を翻訳したものです。



概要

Google は、Google Apps Script デベロッパーが Google ユーザー向けの機能を構築する際に利用可能な幅広い API を提供しています。これらの API が参照できるデータアクセスは各 Workspace アプリケーションの OAuth スコープに則って行われるため、ユーザーは認証を行わないとスクリプトを実行できません。従来は、OAuth 同意画面で、所定のスクリプトの実行に必要な OAuth スコープすべてを認証することがユーザーに求められていました。
 
このスクリーンショットは、要求された OAuth スコープをすべて認証するか、いずれも認証しないかをユーザーに選択するよう求める、現行の OAuth 同意画面を示しています。
このスクリーンショットは、要求された OAuth スコープをすべて認証するか、いずれも認証しないかをユーザーに選択するよう求める、以前の OAuth 同意画面を示しています。
 
本日より、ユーザーは OAuth 同意画面で、認証する OAuth スコープを個別に指定できるようになります。たとえば、ユーザーの Google スプレッドシートや Google フォームのファイルへのアクセスをスクリプトが要求していて、ユーザーはスプレッドシートのファイルでのみスクリプトを使用したい場合、スプレッドシートへのアクセスのみを許可し、フォームへのアクセスは許可しないようにすることができます。これによってユーザーには、自身のサードパーティ製アプリケーションがアクセスできるデータをよりきめ細かく制御できるというメリットがあります。
 
このスクリーンショットは、要求された OAuth スコープのサブセットに対してユーザーが同意できるようにする新しい OAuth 同意画面を示しています。
このスクリーンショットは、要求された OAuth スコープのサブセットに対してユーザーが同意できるようにする新しい OAuth 同意画面を示しています。
 
 

補足情報

また、この新しい同意フローのリリースを補完するため、Apps Script デベロッパーがスクリプトに対して付与するスコープをプログラムによって操作できるメソッドを ScriptApp クラスと AuthorizationInfo クラスに追加しました。詳しくは、デベロッパー向けドキュメントをご覧ください
 
ユーザーがスクリプトに権限を付与した後、Apps Script は次のような場合に、再度 OAuth 同意をリクエストする場合があります。
  • 要求された OAuth スコープのサブセットへの同意を付与したユーザーが、それまで認証されていなかったスクリプトの一部を実行しようとした。
  • 追加のスコープに対する権限が必要なようにスクリプトが更新された。
  • ユーザーが自身の Google アカウント設定からスクリプトへのアクセスを取り消した。
過去に失敗した実行は、すべて実行履歴に記録されます。OAuth の失敗にはそれぞれハイパーリンクが含まれており、ユーザーはそれを使用して、不足している権限を付与できます。
 
 

ご利用にあたって

  • 管理者: この機能に管理者向けの設定はありません。
  • デベロッパーとエンドユーザー: 
    • きめ細かい OAuth 同意は、V8 ランタイムへの移行を終了したスクリプトでのみ利用できます。いくつか残っている Rhino スクリプトのいずれかにきめ細かい同意を利用したい場合は、こちらの手順に沿って手動で V8 に移行できます。
    • この新しい同意画面は、新しい OAuth スコープの付与に対してのみ使用できます。以前から存在しているスコープの付与には影響しないため、すでに認証済みのスクリプトについては、ユーザーに求められるアクションはありません。
    • 新しい同意画面は、まず Apps Script IDE(すなわち Apps Script から直接スクリプトを実行する)に対してリリースされます。今後、以下の画面で同意画面がリリースされる予定です。
      • Google 広告スクリプト
      • マクロの実行
      • トリガーの実行
      • ウェブアプリの実行
      • API の実行
      • Chat 用アプリ
      • アドオン

リリース スケジュール

 

対象

  • Google Workspace をご利用のすべてのお客様と Workspace Individual 登録ユーザーの方

リソース