ユーザー ID プロパティにアクセスする

ユーザーは、コミュニティ コネクタを使用して独自のデータソースを作成します。これらのデータソースの場合、コネクタは有効なユーザーの ID にアクセスできます。データソースの認証情報に応じて、有効なユーザーはデータソース作成者(オーナーの認証情報)またはレポート閲覧者(閲覧者の認証情報)になります。

利点

  • ユーザーに代わって Google サービスと API にアクセスできます。
  • カスタムのアクセス制御を実装して、関連データのみが表示されるようにできます。
  • 有効なユーザーのユーザー エクスペリエンスをカスタマイズできます。

実装の手順

ユーザー OAuth トークンへのアクセス

コネクタは、ユーザーの OAuth トークンを渡すことにより、ユーザーに代わって Google サービスと API にアクセスできます。コネクタで有効なユーザーの OAuth トークンにアクセスするには、ScriptApp.getOAuthToken() を使用します。getOAuthToken リファレンスをご覧ください。このトークンには、コネクタの承認時に含まれる認可スコープが含まれます。

ほとんどのコネクタの場合、Apps Script によりスクリプトが解析および処理されて、必要なスコープが自動的に検出されます。コネクタにより使用されるスコープはいつでも確認できます。URL 文字列を使用して、マニフェストスコープを明示的に設定することもできます。ユーザーの代わりに Google サービスまたは API にアクセスする場合は、マニフェストにその関連スコープを含めます。

ユーザーのメールアドレスへのアクセス

コードでは、Session.getEffectiveUser().getEmail() を使用して現在の有効なユーザーを特定できます。getEffectiveUser リファレンスをご覧ください。このコードを追加すると、https://www.googleapis.com/auth/userinfo.email 認可スコープがコネクタに自動的に追加されます。

例: ユーザー OAuth トークンを使用して Google API を呼び出す

  • Google Fit コネクタを使って、Google Fit API から有効なユーザーのデータを取得します。API の呼び出し中に、有効なユーザーの OAuth トークンが渡されます。実装の詳細については、ソースコードをご覧ください。
  • Firestore コネクタでは、Cloud Resource Manager を使用して、有効なユーザーのプロジェクトのリストを取得します。このコネクタにより、有効なユーザーの OAuth トークンも渡されます。実装の詳細については、ソースコードをご覧ください。

例: メールアドレスに基づく isAdminUser()

  • Chrome UX コネクタを使って、管理ユーザーのリストを管理します。getEffectiveUser() を使用して、有効なユーザーをリストと比較し、有効なユーザーが管理者かどうかを判断します。getEffectiveUser の実装をご覧ください。