高度なチャット サービスを使用すると、Apps Script で Google Chat API を使用できます。この API を使用すると、スクリプトで Chat スペースの検索、作成、変更、スペースへのメンバーの追加または削除、テキスト、カード、添付ファイル、リアクションを含むメッセージの読み取りまたは投稿を行えます。
前提条件
- Google Cloud コンソールの Chat API 構成ページで構成された Apps Script Google Chat アプリ。アプリの Apps Script プロジェクトでは、Apps Script プロジェクト用に自動的に作成されるデフォルトのプロジェクトではなく、標準の Google Cloud プロジェクトを使用する必要があります。互換性のある Google Chat アプリを作成するには、Google Apps Script を使用して Google Chat アプリを作成するをご覧ください。
- Chat 用に構成された認証。ユーザーに代わってアクションを実行するには、ユーザー認証が必要です。Chat 用アプリとしてアクションを実行するには、サービス アカウントによるアプリ認証が必要です。Chat API メソッドがサポートする認証形式を確認するには、Google Chat API 呼び出しに必要な認証のタイプをご覧ください。
リファレンス
このサービスの詳細については、Chat API リファレンス ドキュメントをご覧ください。Apps Script のすべての高度なサービスと同様に、Chat サービスでは、公開 API と同じオブジェクト、メソッド、パラメータを使用します。
サンプルコード
これらのサンプルでは、高度なサービスを使用して一般的な Google Chat API アクションを実行する方法を示します。
ユーザー認証情報を使用してメッセージを投稿する
次の例は、ユーザーに代わって Chat スペースにメッセージを投稿する方法を示しています。
- Apps Script プロジェクトの - appsscript.jsonファイルに- chat.messages.create認証スコープを追加します。- "oauthScopes": [ "https://www.googleapis.com/auth/chat.messages.create" ]
- 次のような関数を Apps Script プロジェクトのコードに追加します。 
アプリの認証情報を含むメッセージを投稿する
次の例は、アプリに代わって Chat スペースにメッセージを投稿する方法を示しています。サービス アカウントで高度な Chat サービスを使用する場合、appsscript.json で認可スコープを指定する必要はありません。サービス アカウントを使用した認証の詳細については、Google Chat 用アプリとして認証するをご覧ください。
スペースを取得する
次の例は、Chat スペースに関する情報を取得する方法を示しています。
- Apps Script プロジェクトの - appsscript.jsonファイルに- chat.spaces.readonly認証スコープを追加します。- "oauthScopes": [ "https://www.googleapis.com/auth/chat.spaces.readonly" ]
- 次のような関数を Apps Script プロジェクトのコードに追加します。 
スペースを作成
次の例は、Chat スペースを作成する方法を示しています。
- Apps Script プロジェクトの - appsscript.jsonファイルに- chat.spaces.create認証スコープを追加します。- "oauthScopes": [ "https://www.googleapis.com/auth/chat.spaces.create" ]
- 次のような関数を Apps Script プロジェクトのコードに追加します。 
メンバーシップを一覧表示する
次の例は、Chat スペースのすべてのメンバーを一覧表示する方法を示しています。
- Apps Script プロジェクトの - appsscript.jsonファイルに- chat.memberships.readonly認証スコープを追加します。- "oauthScopes": [ "https://www.googleapis.com/auth/chat.memberships.readonly" ]
- 次のような関数を Apps Script プロジェクトのコードに追加します。 
トラブルシューティング
Error 400: invalid_scope エラーと Some requested scopes cannot be shown エラー メッセージが表示された場合は、Apps Script プロジェクトの appsscript.json ファイルで承認スコープが指定されていません。ほとんどの場合、Apps Script はスクリプトに必要なスコープを自動的に判断しますが、Chat の高度なサービスを使用する場合は、スクリプトで使用する認可スコープを Apps Script プロジェクトのマニフェスト ファイルに手動で追加する必要があります。明示的なスコープの設定をご覧ください。
このエラーを解決するには、oauthScopes 配列の一部として、適切な認証スコープを Apps Script プロジェクトの appsscript.json ファイルに追加します。たとえば、spaces.messages.create メソッドを呼び出すには、次のように追加します。
"oauthScopes": [
  "https://www.googleapis.com/auth/chat.messages.create"
]
制限事項と考慮事項
高度なチャット サービスでは、次の機能はサポートされていません。
- Chat API メソッド media.download。
- デベロッパー プレビューで利用可能な Chat API メソッド
メッセージの添付ファイルをダウンロードしたり、デベロッパー プレビュー メソッドを呼び出したりするには、代わりに UrlFetchApp を使用します。