开发者社区 问答 正文

钉钉如何获取通讯录接口权限范围?

钉钉如何获取通讯录接口权限范围?

展开
收起
三分钟热度的鱼 2023-08-02 13:29:28 262 分享 版权
3 条回答
写回答
取消 提交回答
  • 调用通讯录相关接口前,需要添加通讯录接口权限,可通过当前接口获取通讯录权限范围。

    如下图所示,当前应用的access_token只具备管理部门A的通讯录权限。开发者可以先调用本接口查看应用的通讯录授权范围。
    image.png
    开发者在调用通讯录接口时,只能获取到在授权范围内的员工通讯录信息,获取非授权范围内的员工通讯录信息会提示获取部门/员工不在授权范围内。

    请求示例(HTTP)

    GET https://oapi.dingtalk.com/auth/scopes?access_token=ACCESS_TOKEN
    

    请求示例(JAVA SDK)

    DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/auth/scopes");
    OapiAuthScopesRequest req = new OapiAuthScopesRequest();
    req.setHttpMethod("GET");
    OapiAuthScopesResponse rsp = client.execute(req, access_token);
    System.out.println(rsp.getBody());
    

    返回示例

    {
            "errcode":0,
            "condition_field":[],
            "auth_user_field":[
                    "jobnumber",
                    "isLeader",
                    "name",
                    "position",
                    "isAdmin",
                    "avatar",
                    "department",
                    "userid",
                    "deviceId",
                    "isHide"
            ],
            "auth_org_scopes":{
                    "authed_user":[],
                    "authed_dept":[
                            1
                    ]
            },
            "errmsg":"ok"
    }
    
    2023-08-04 01:45:36
    赞同 展开评论
  • 北京阿里云ACE会长

    钉钉通讯录接口存在严格的访问权限控制:

    部门成员列表:只有该部门的管理员才可查看该部门的成员列表
    部门成员详情:只有相关部门的成员可查看其他成员的详情
    企业成员列表:只有企业管理员或授权账号才可查看全公司成员列表
    角色成员列表:只有相关角色负责人可查看该角色下的成员列表
    标签成员列表:只有相关标签负责人可查看该标签下的成员列表

    2023-08-02 22:53:33
    赞同 展开评论
  • 调用通讯录相关接口前,需要添加通讯录接口权限,可通过调用 "获取通讯录权限范围" 接口获取通讯录权限范围。该接口在旧版企业内部应用和第三方企业应用中都支持,但在第三方个人应用中不支持。
    此回答整理自钉群“钉钉开发者社区(互助群)”

    2023-08-02 13:37:32
    赞同 展开评论