授权 Google Chat 应用导入数据
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
借助 Google Chat API,应用可以使用导入模式聊天室将其他即时通讯平台中的数据导入到 Google Chat。如需了解详情,请参阅将消息数据从其他服务导入到 Google Chat。
如需在导入模式空间中读取和写入资源,您必须使用服务账号对 Chat 应用进行身份验证。由管理员向服务账号授予以下 Chat API 授权范围:https://www.googleapis.com/auth/chat.import
。
只有 Google Workspace 网域管理员才能通过网域范围的委托向服务账号授予此 OAuth 范围。
如果某个网域中的 Chat 应用创建了导入模式聊天室,则该网域必须具有此 OAuth 范围。在服务账号获得此范围的全网域授权后,Chat 应用便可通过模拟用户账号来访问导入模式聊天室。
在某些情况下,用于模拟的用户账号可能不再可用。在这种情况下,Chat 应用可以使用其服务账号凭据作为后备方案。例如,如果您删除在创建消息时使用的用户账号,Chat 应用可以使用自己的服务账号凭据来创建包含相同内容的消息。Chat 应用可以使用具有以下 OAuth 范围的服务账号凭据,以应用身份访问导入模式空间:https://www.googleapis.com/auth/chat.bot
。
将资源导入到导入模式空间时,不需要任何其他 Google Chat API 范围。
聊天应用只能将内容导入到自己创建的导入模式聊天室,而不能导入到其他应用创建的导入模式聊天室。
下表列出了 Chat 应用可以在导入模式空间中调用的资源方法,以及它们支持的身份验证类型:
资源方法 |
支持用户模拟 |
支持服务账号凭据 |
spaces.create
|
是 |
否 |
spaces.get
|
否 |
是 |
spaces.update
|
是 |
否 |
spaces.delete
|
是 |
否 |
spaces.completeImport
|
是 |
否 |
spaces.messages.create
|
是 |
是 |
spaces.messages.delete
|
是 |
是 |
spaces.messages.get
|
否 |
是 |
spaces.messages.list
|
是 |
否 |
spaces.messages.update
|
是 |
是 |
spaces.messages.reactions.create
|
是 |
否 |
spaces.messages.reactions.delete
|
是 |
否 |
spaces.members.create
|
是 |
否 |
spaces.members.delete
|
是 |
否 |
spaces.members.list
|
是 |
否 |
media.upload
|
是 |
否 |
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2025-08-29。
[null,null,["最后更新时间 (UTC):2025-08-29。"],[[["\u003cp\u003eGoogle Chat API allows importing data from other platforms into Google Chat using import mode spaces.\u003c/p\u003e\n"],["\u003cp\u003eChat apps require specific authentication and authorization to read and write resources in these spaces, needing domain administrator approval.\u003c/p\u003e\n"],["\u003cp\u003eApps can impersonate user accounts or utilize their service account credentials for specific actions within import mode spaces.\u003c/p\u003e\n"],["\u003cp\u003eImport mode spaces support various resource methods with differing authentication requirements, as detailed in the provided table.\u003c/p\u003e\n"],["\u003cp\u003eChat apps can only import content into spaces they create and not into spaces created by other apps.\u003c/p\u003e\n"]]],["Apps use the Google Chat API's import mode to bring data from other platforms into Google Chat. This requires authentication with a service account granted the `https://www.googleapis.com/auth/chat.import` scope via domain-wide delegation by a Google Workspace admin. Apps can impersonate user accounts or use service account credentials (`https://www.googleapis.com/auth/chat.bot`). Only specific resource methods are supported in import mode spaces. Import mode is exclusive, meaning apps can only modify spaces they create.\n"],null,["# Authorize Google Chat apps to import data\n\nWith the Google Chat API, apps can import data from other messaging platforms into\nGoogle Chat by using *import mode* spaces. For more information, see\n[Import message data to Google Chat from another service](https://support.google.com/a/answer/13465849).\n\nTo read and write resources in import mode spaces, you must\n[authenticate Chat apps with a service account](/workspace/chat/authenticate-authorize-chat-app).\nGrant the service account the following Chat API authorization scope\nby an administrator: `https://www.googleapis.com/auth/chat.import`.\n\nOnly Google Workspace domain administrators can grant this OAuth scope to\nservice accounts through\n[domain-wide delegation](/identity/protocols/oauth2/service-account#delegatingauthority).\nEvery domain that a Chat app creates import mode spaces\nin must have this OAuth scope. After the service account has been delegated\ndomain-wide authority for this scope, Chat apps can access import\nmode spaces by\n[impersonating a user account](/identity/protocols/oauth2/service-account#authorizingrequests).\n\nIn some scenarios, the user account for impersonation might no longer be\navailable. In these cases, the Chat app can use their\nservice account credentials as a fallback. For example, if you delete a user\naccount that was used during message creation, the\nChat app can use their own service account credentials\nto create a message containing the same contents. Chat apps can\naccess import mode spaces as an app using service account credentials with the\nfollowing OAuth scope: `https://www.googleapis.com/auth/chat.bot`.\n\nNo other [Google Chat API scopes](/workspace/chat/authenticate-authorize#scopes)\nare required when importing resources into an import mode space.\nChat apps can only import content into the import mode spaces\nthat they create, and not into the import mode spaces created by other apps.\n\nThe following table lists the resource methods that Chat apps can\ncall in import mode spaces, and what kind of authentication they support:\n\n| Resource method | User impersonation supported | Service account credentials supported |\n|------------------------------------|------------------------------|---------------------------------------|\n| `spaces.create` | Yes | No |\n| `spaces.get` | No | Yes |\n| `spaces.update` | Yes | No |\n| `spaces.delete` | Yes | No |\n| `spaces.completeImport` | Yes | No |\n| `spaces.messages.create` | Yes | Yes |\n| `spaces.messages.delete` | Yes | Yes |\n| `spaces.messages.get` | No | Yes |\n| `spaces.messages.list` | Yes | No |\n| `spaces.messages.update` | Yes | Yes |\n| `spaces.messages.reactions.create` | Yes | No |\n| `spaces.messages.reactions.delete` | Yes | No |\n| `spaces.members.create` | Yes | No |\n| `spaces.members.delete` | Yes | No |\n| `spaces.members.list` | Yes | No |\n| `media.upload` | Yes | No |\n\nRelated topics\n--------------\n\n- To learn more about authentication and authorization, see [Authenticate and authorize Google Chat apps and API requests](/workspace/chat/authenticate-authorize).\n- To learn how to set up a service account to access the Google Chat API, see [Authenticate as a Google Chat app](/workspace/chat/authenticate-authorize-chat-app).\n- To learn how to start importing resources using import mode spaces, see [Import data to Google Chat](/workspace/chat/import-data)."]]