通讯录权限体系

来自企业号开发者接口文档
跳转至: 导航搜索

通讯录权限范围

企业授权第三方应用后,第三方应用往往需要获取授权企业的通讯录信息,以支持应用的使用或管理员管理的需要,按照所需通讯录范围的大小,可分为两种情况:

  • 需要应用使用成员的信息

这主要是为了向用户发送消息,或者需要展示和管理用户的信息,如通讯录选人、查看成员信息;

  • 需要应用使用成员和非使用成员的信息

主要是为了让应用使用成员可查看或管理其他非使用成员的信息,如HR应用,使用成员为HR部门,但HR应用需查看和管理整个公司成员的信息。

根据以上两种情形,将应用所需的通讯录权限范围分为以下两种类型:


Manage range.png


  • 与可见范围一致

应用仅需访问使用范围内成员的信息;

  • 需额外范围通讯录

应用需访问使用范围以外的额外其他成员的信息。

配置策略建议

通讯录权限范围是与应用相关的,设置了“需额外范围通讯录”的应用在授权后,系统管理员可以在企业微信管理后台-应用中心-应用详情页设置额外的通讯录范围。

  • 尽量使用“与可见范围一致”;
  • 在使用“需额外范围通讯录”之前,先考虑是否可在应用中实现用户功能的差异化,比如应用类型还是与可见范围一致,普通用户仅提供简单功能,特定用户提供复杂管理功能。

通讯录权限等级

企业微信通讯录成员的信息按照其敏感性划分为以下基本信息和敏感信息,具体划分如下图所示:


User info.png


企业授权第三方应用后,第三方应用可以读取管理员所设置的应用使用范围(及额外通讯录范围)内成员的信息,但第三方应用可以读取成员的哪些信息,由应用自身的通讯录权限等级决定:

  • 单个基本信息只读

该级别不允许第三方应用读取授权企业的组织架构,仅允许通过调用OAuth的方式来读取当前进入应用的用户的基本信息;

  • 通讯录基本信息只读

该级别允许第三方应用读取授权企业的组织架构,仅允许读取授权应用使用范围(及额外通讯录范围)内的组织架构和成员的基本信息;

配置策略建议

第三方应用可以读取通讯录时的权限等级由合作伙伴在合作伙伴管理后台登记应用时预先设置,企业微信团队审核。通讯录权限级别是与应用相关的,不允许跨应用、跨级别来调用通讯录相关接口。

合作伙伴创建应用时,应遵循“权限最小化”原则,仅申请获取应用提供所必须的、最少属性的、最小范围的通讯录数据,具体包括:

  • 个人使用且无需与其他成员协同的应用建议选择单个标识只读,如投票、考勤等;
  • 需要使用到企业组织架构的应用可以选择标识信息只读,如审批、任务等;

通讯录修改权限

通讯录修改权限指允许应用修改和读取通讯录根部门的所有信息(含基本信息和敏感信息)。为避免多方同时编辑通讯录而导致数据不一致,现收敛通讯录写权限到一方(企业微信管理后台、企业自建接口、合作伙伴接口),具体原则如下:

  • 企业开启写通讯录的自建接口后(需在管理后台-管理工具-通讯录同步助手开启),将无法在新产品管理后台编辑通讯录,也无法授权通讯录写权限给合作伙伴;
  • 企业授权通讯录写权限仅允许授权给一个第三方,授权第三方后将无法在新产品管理后台编辑通讯录,也无法开启写通讯录的自建接口,其他合作伙伴也无法再获得通讯录写权限;
  • 企业成员允许在企业微信app修改个人信息,修改成功后,后台将产生个人信息修改回调事件,通知自建接口或第三方接口被修改的信息(含手机号、邮箱等敏感字段);


合作伙伴在开发通讯录写权限的应用时有如下要求:

  • 仅通讯录管理类型的套件才允许配置该等级权限,在合作伙伴管理后台添加该类套件;
  • 通讯录管理套件可不包含任何应用,授权该套件将获得根目录的修改权限;该套件亦可包含一个通讯录应用,用于提供通讯录信息展示;
  • 通讯录管理套件不在应用商店推荐。

成员敏感信息授权

第三方应用目前无法通过API接口获取成员的敏感信息,但第三方应用如的确需要用到成员的手机号码、邮箱等敏感信息,可以申请成员授权敏感信息只读的权限(合作伙伴管理后台-应用详情页),该权限和前述的管理员授权应用时授权的三个级别的通讯录权限相互独立、无相关性。

我们提供专门的[OAuth接口]支持成员授权敏感信息只读,应用可以通过该接口向每个成员单独发起授权请求,如成员确认授权应用读取自己的敏感信息,则应用可读取该成员包括:手机、邮箱等在内的敏感信息;如成员未确认授权,则应用不可读该成员的任何敏感信息。

授权套件通讯录权限范围

假定企业A授权了服务商B的三个应用App1、App2和App3,其中应用App1和App2的类型是与可见范围一致,而应用App3的类型是需额外通讯录范围。 管理员设置的使用范围、额外通讯录范围与服务商获取的通讯录范围关系如下图所示:


Suit range.png


管理员为三个应用设置的使用范围分别是部门1、部门2、部门3,由于应用App3的类型是需要额外通讯录,所以管理员给App3设置的通讯录范围为部门4。 管理员这样设置后,App1和App2获得的通讯录范围与其使用范围一致。而App3获得的通讯录范围为部门3和部门4。 由于三个App有不同的通讯录权限等级,所以每个应用最终的相应的等级也有差别。