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