Workplace from Meta 即将停用。您可以继续使用 Workplace,直到 2025 年 8 月 31 日为止。详情请访问我们的帮助中心。
作为 Workplace 系统管理员,您可以通过创建应用并向其授予特定权限,来控制为每个集成工具提供的功能。可以对各个应用命名,借此反映其能实现的服务。这些应用带有控制此类应用可以读写哪些信息的唯一访问口令和权限。
本指南更为详细地介绍了应用和权限模型。
可以为各个 Workplace 应用授予其专属的一组权限,借此控制其在图谱 API 和账户管理 API 上可用的功能级别。
您创建一个应用并授予权限时,这些权限将应用到您社群中的各个账户。账户所有者不必向该应用授予更多权限,即可从该应用的功能中受益。这与 Facebook 上的权限模型不同,在 Facebook 上,每个用户在登录时都会单独向应用授予权限。
下方是集成工具可用的应用权限完整清单以及各权限的使用方式概述。
权限 | 描述 |
---|---|
读取小组内容读取选定小组中的帖子和评论。 read_group | 此权限用于构建相关集成工具,以获取选定小组中的所有内容。 如果您的集成工具将在小组中充当智能助手,请改用提及智能助手权限。 |
管理小组内容管理选定小组中的帖子和评论。 write_group | 此权限用于构建相关集成工具,以将内容(如由内部服务或服务状态通知智能助手提供的周报)发布到小组。 |
读取用户时间线查看小组成员在其时间线上发布的帖子 read_user_feed | 此权限用于构建具有以下用途的集成工具:
|
管理用户时间线在任何小组成员的时间线上发帖和评论 write_user_feed | 此权限用于支持集成工具在小组成员的时间线上创建或编辑帖子。 |
提及智能助手如果某个帖子中提及智能助手,则查看该帖子并回复评论。 bot_mention | 此权限用于在 Workplace 小组中构建智能助手。 |
管理小组创建、编辑或移除选定小组及其成员。 manage_group | 此权限用于构建相关集成工具,以基于组织结构图中的结构或项目组自动生成小组并填充小组成员。 如果某集成工具具有此权限,且该工具的适用范围设置为特定小组,则不允许该工具新建小组。 |
管理账户通过账户管理 API 预配、更新或停用账户。 manage_accounts | 此权限用于具有账户预配服务的任何集成工具,如身份提供程序、Active Directory 同步工具或自定义账户管理 API 客户端。 在启用此权限的情况下,您可以选择启用“在添加用户后,使用此集成工具立即自动邀请用户加入 Workplace”权限。 |
管理徽章向 Workplace 社群成员颁发徽章。 manage_badges | 此权限用于支持集成工具实现以下用途:
|
读取用户邮件查看任何小组成员的邮箱。 read_user_email | 此权限允许获取与 Workplace 用户账户关联的邮箱账户。 |
读取工作个人主页以只读方式访问用户的名册信息。 read_user_work_profile | 允许应用获取用户的部门、分部、组织、主要地址、主要手机号、头衔和性别信息。 |
读取组织结构图以只读方式访问用户的经理和下属信息。 read_user_org_chart | 允许应用获取用户的经理和下属信息。 |
向任何成员发消息与您社群中的任何成员相互收发聊天消息。 message | 此权限用于在 Work Chat 中构建智能助手。 |
读取所有消息读取您社群中任何成员的聊天消息。 read_all_messages | 此权限用于启用可监控 Workplace 聊天应用使用情况的合规集成工具。 |
删除聊天消息delete_messages | 此权限用于支持相关应用删除成员对话中的聊天消息,比如,在实施保留政策时会用到此权限。 |
读取安全记录可访问安全事件的详情,包括登录尝试次数和密码重置请求。 receive_security_logs | 此权限用于启用可监控 Workplace 聊天应用使用情况的合规集成工具。 |
退出使成员退出所有登录会话 logout | 此权限用于使用户退出 Workplace |
创建链接预览为在 Workplace 中分享的链接创建图文预览。 link_unfurling | 具有此权限的应用可以为在 Workplace 中分享的链接生成授权预览。 |
管理工作个人主页读取并更新 Workplace 中的工作档案。 manage_profiles | 具有此权限的应用兼具 read_user_work_profile 和 read_user_org_chart 的读取权限。具有此权限的应用还可以更新账户信息(如姓名、部门、分部、头衔、组织、电话) |
预配用户账户在 Workplace 中预配账户。 provision_accounts | 具有此权限的应用可以预配、停用和删除(未认领的)Workplace 账户。此权限还可用于更新动态、邮箱、姓名、聘用日期和受邀成员字段。 |
读取小组成员列出小组的各位成员和用户加入的各个小组 list_group_members | 具有此权限的应用可以查询特定小组的成员名单。此外,还可以列出用户加入的各个小组。 |
管理资料库内容在资料库中创建、编辑和删除重要公司信息 manage_knowledge_library | 具有此权限的应用可以在资料库中创建和修改内容。此权限用于支持集成工具实现以下用途:
|
读取资料库内容读取资料库中的重要公司信息 read_knowledge_library | 具有此权限的应用可以访问资料库中的内容。此权限用于支持集成工具实现以下用途:
|
导出工作人员数据以 CSV 格式导出当前工作人员名单和工作人员动态数据。 export_employee_data | 具有此权限的应用可以安排一个数据导出作业,以便生成列出所有 Workplace 用户的 CSV 文件。该 CSV 文件还包含有关用户的数据以及有关他们最近使用 Workplace 功能的信息。 |
小组聊天智能助手支持智能助手在群聊中与成员进行互动。 bot_group_chat | 具有此权限的应用将支持智能助手在群聊中与成员进行互动。此权限用于支持集成工具创建或管理多人小组聊天。 此权限取决于 |
管理问卷创建、更新、删除和读取问卷配置 manage_surveys | 具有此权限的应用可以创建、更新、删除和读取问卷配置。 |
读取问卷读取问卷配置,并接收与问卷相关的 Webhooks 更新 read_surveys | 具有此权限的应用可以读取问卷配置,并接收与问卷相关的 Webhooks 更新。 |
读取问卷读取问卷配置,并接收与问卷相关的 Webhooks 更新 read_surveys | 具有此权限的应用可以读取问卷配置,并接收与问卷相关的 Webhooks 更新。 |
读取工作组读取工作组 read_people_sets | 具有此权限的应用可以查看动态工作组的配置,并订阅与工作组相关的更新 |
管理工作组管理工作组 manage_people_sets | 具有此权限的应用可以在 Workplace 社群中创建、更新和删除工作组 |
读取重要帖子读取重要帖子 read_important_posts | 允许集成工具读取有关重要推广帖(当前有效、过期均可)的信息。 |
管理重要帖子管理重要帖子 manage_important_posts | 允许集成工具将小组帖子标记为重要内容,使其显示在动态的顶部;允许提前结束重要推广帖。 |
移除个人主页信息移除已停用用户的个人信息。 remove_profile_information | 允许集成工具移除 Workplace 上已停用用户的个人主页字段,如姓名和头像。 |
某些权限可以将集成工具限制为在特定小组中才能启用。这样就可以将集成工具的访问范围限定为您想要公开的内容。
例如,您可以允许发布提醒的集成工具仅在团队内部小组中发布提醒,或者支持工作人员应用集成工具仅读取特定开放小组中的内容。
如要为自定义集成工具指定小组级权限,请使用“编辑集成工具”对话框中的“小组访问权限”面板。
小组级权限适用于以下权限:
您可以对集成工具进行相应配置,以便为所有小组或系统管理员选择的特定小组启用小组级权限,或是将该权限设为由小组管理员为其小组启用。
如果启用由小组管理员为其小组启用,小组管理员将在管理小组屏幕下看到新的集成工具选项卡,小组管理员可在该选项卡中为其小组启用所需集成工具。
为 Workplace 创建新应用时,系统会生成一个访问口令,用于图谱 API、账户管理 API 或 Webhooks。
此访问口令仅会显示一次,因此请务必安全存储好此口令,以供以后在代码中使用。
Workplace 应用口令永不过期,且无需刷新,除非手动重置。如果您编辑指定应用的可用权限,现有口令将仍然有效,您无需生成新口令。
如需使口令失效,可通过编辑应用对话框中的重置访问口令按钮重置口令。系统将生成并显示新口令,现有口令将立即失效。
访问口令功能强大。该口令可授予成员权限,以访问您公司在 Workplace 上的数据。创建应用时,请考虑授予提供集成工具完整功能所需的最基本权限,而非任何不必要的权限。
在存储口令或将口令添加到代码存储库时,应格外小心,确保口令不会与错误人员分享。
切勿将正式版访问口令提交到公共代码存储库。
您必须仅在自己的服务器环境中存储和使用 API 凭据,并确保这些值绝不会复制或传输到其他位置(如移动应用或网页浏览器客户端)。
如要为集成工具再增加一层安全保护,应添加一个 IP 白名单,将口令限制为仅用于 IP 地址白名单内的服务器。
如果自定义集成工具在 30 天内未使用特定权限发出调用,该权限将被移除。自定义集成工具发生一次这种情况后,系统将提供一个选项来阻止此移除过程。
如果设置了有效的 Webhooks 订阅,则由此发送的 Webhooks 算作使用了相关权限。
Workplace 的访问口令不会过期。自定义集成工具可以要求提供应用密钥证明,以增加一层安全保护。启用“必须提供应用密钥证明”选项,可确保 API 调用仅由服务器端代码发出。因此,在发出 API 调用时,必须同时提供限时应用密钥证明和访问口令。
为生成限时应用密钥证明,您需要将口令与 Unix 时间戳串联起来,用竖线 |
隔开,然后使用您的应用密钥作为密钥,为该串联字符串创建一个 SHA-256 哈希值。以下是 PHP 中的示例:
$appsecret_proof = hash_hmac('sha256', $access_token.'|'.time(), $app_secret);
一些操作系统和编程语言将返回一个时间戳(浮点数)。在计算应用密钥证明之前,请务必将浮点数转换为整数值。一些编程语言会创建散列值作为 digest 对象。请务必以十六进制对象的形式来表示哈希值。
如要使用应用密钥证明发出 API 调用,应通过 appsecret_proof
参数传递生成的哈希值,并传递 appsecret_time
(设置为您对应用密钥进行哈希处理时所使用的时间戳)和访问口令。
GET https://graph.facebook.com/v2.9/community/groups? &access_token={access-token} &appsecret_proof={appsecret_proof} &appsecret_time={appsecret_time}
带有时间戳的应用密钥证明的有效期为 5 分钟,因此建议您在每次调用图谱 API 时都生成一个新内联证明。
Postman 是一个广泛使用的工具,用于处理网页 API。您可能会发现,使用 Postman 来探索 Workplace API 很方便,但是 $appsecret_proof
参数带来了一大难题,因为该参数的值必须经过计算得出,且 5 分钟后就会过期。如果 Postman 可以在请求时生成此值,此问题就会得到简化。事实上,Postman 可以使用其“请求前置脚本”和“参数”功能来生成此值。可以从此脚本开始:
// Add to Postman's Pre-request Script Tab var access_token = "replace-me"; var app_secret = "replace-me"; var time = (new Date().getTime()/1000|0); postman.setEnvironmentVariable("access_token", access_token) postman.setEnvironmentVariable("appsecret_time", time); postman.setEnvironmentVariable("appsecret_proof", CryptoJS.HmacSHA256(access_token + '|' + time, app_secret));