承認スコープ

ユーザーは、データにアクセスする、またはユーザーに代わって行動するスクリプト プロジェクトを承認する必要があります。ユーザーが初めて承認が必要なスクリプトを実行すると、UI は承認フローを開始するように促すプロンプトを表示します。

このフローで、UI はスクリプトが必要な権限をユーザーに伝えます。たとえば、スクリプトがユーザーのメール メッセージの読み取り権限やカレンダーで予定の作成権限を必要とする場合があります。スクリプト プロジェクトでは、これらの個々の権限を OAuth スコープとして定義しています。

ほとんどのスクリプトでは、必要なスコープが Apps Script によって自動的に検出されます。スクリプトが使用するスコープは、いつでも表示できます。URL 文字列を使用して、マニフェストスコープを明示的に設定することもできます。アドオンなどの特定のアプリでは、公開されているアプリは常に可能な限り狭いスコープを使用する必要があるため、スコープを明示的に設定することが必要になる場合があります。

承認フローの中で、Apps Script は、人間が読める形式の必要なスコープの説明をユーザーに提示します。たとえば、スクリプトがスプレッドシートへの読み取り専用アクセス権を必要とする場合、マニフェストでスコープ https://www.googleapis.com/auth/spreadsheets.readonly を設定できます。承認フローで、このスコープのスクリプトは、このアプリケーションに「自分の Google スプレッドシートの表示」を許可するようユーザーに求めます。

一部のスコープには他のスコープが含まれます。たとえば、スコープ https://www.googleapis.com/auth/spreadsheets を承認すると、スプレッドシートに対する読み取りと書き込みのアクセスが許可されます。

スコープの表示

スクリプト プロジェクトに現在必要なスコープは、次の手順で確認できます。

  1. スクリプト プロジェクトを開きます。
  2. 左側の [概要] をクリックします。
  3. [Project OAuth Scopes](プロジェクトの OAuth スコープ)でスコープを表示します。

明示的なスコープの設定

Apps Script では、スクリプトを必要とする関数呼び出しのコードをスキャンして、スクリプトに必要なスコープを自動的に決定します。ほとんどのスクリプトでは、これで十分であり、時間を節約できますが、公開されたアドオン、ウェブアプリ、Google Chat アプリ、Google Chat API の呼び出しについては、スコープをより直接的に制御する必要があります。

Apps Script では、制限の緩いスコープがプロジェクトに自動的に割り当てられることがあります。そのため、スクリプトがユーザーに必要以上のものを要求することになり、これは推奨されません。公開されているスクリプトの場合、広範なスコープを、スクリプトのニーズに対応できる制限されたセットに置き換える必要があります。

スクリプト プロジェクトで使用するスコープは、マニフェスト ファイルを編集することで明示的に設定できます。マニフェスト フィールド oauthScopes は、プロジェクトで使用されるすべてのスコープの配列です。プロジェクトのスコープを設定する手順は次のとおりです。

  1. スクリプト プロジェクトを開きます。
  2. 左側にある [プロジェクトの設定] をクリックします。
  3. [「appsscript.json」マニフェスト ファイルをエディタで表示する] チェックボックスをオンにします。
  4. 左側の [エディタ] をクリックします。
  5. 左側の appsscript.json ファイルをクリックします。
  6. 最上位の oauthScopes フィールドを見つけます。存在しない場合は追加できます。
  7. oauthScopes フィールドは、文字列の配列を指定します。プロジェクトで使用するスコープを設定するには、この配列の内容を、使用するスコープに置き換えます。たとえば、
          {
            ...
            "oauthScopes": [
              "https://www.googleapis.com/auth/spreadsheets.readonly",
              "https://www.googleapis.com/auth/userinfo.email"
            ],
           ...
          }
    
    です。
  8. 上部の保存アイコン()をクリックします。

OAuth の確認

一部の OAuth スコープは、Google ユーザーデータへのアクセスを許可するため、機密性が高いものになります。スクリプト プロジェクトでユーザーデータへのアクセスを許可するスコープを使用している場合、プロジェクトをウェブアプリやアドオンとして公開するには、OAuth クライアントの検証を行う必要があります。詳細については、次のガイドをご覧ください。

制限付きスコープ

機密性の高いスコープに加えて、特定のスコープは制限付きに分類され、ユーザーデータの保護に役立つ追加のルールが適用されます。1 つ以上の制限付きスコープを使用するウェブアプリまたはアドオンを公開する場合は、公開する前に、指定されたすべての制限にアプリが準拠する必要があります。

公開する前に、制限付きスコープの全リストを確認してください。アプリがこれらの指標を使用している場合は、公開する前に特定の API スコープの追加要件に準拠する必要があります。