钉钉怎么通过接口获取应用授权列表和授权范围?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
接入代码示例:
// 同时兼容PC和移动端的情况
import { openTryoutSku } from 'dingtalk-design-libs';
// 开发者自行判断调用这个方法的时机
openTryoutSku({
// corpId可以从应用首页的url上获取到
corpId: '',
// 应用的appId
appId: '',
// 从应用首页的url上获取到,url上参数名为 purchaseToken。
// purchaseToken如何配置参照下文”配置入口地址“章节。
token: '',
miniAppId: '', // 如果是三方小程序应用,需要设置一下自身的miniAppId。H5微应用可以不设置这个参数
}).then((res) => {
const {
// action的值为:
// 'ok',用户执行了开通动作,或将自己加入了已开通的应用的可见范围内
// 'cancel', 用户点击了取消按钮
// 'unknown',用户点击空白区域关闭了弹窗,此时可以跟cancel采取同样的处理逻辑
action,
// 开通了应用的组织的corpId。因为个人开通可能会用钉钉的隐藏组织,所以开通应用的组织的corpId以这里返回的为准。
corpId,
} = res;
// action不是ok的情况下,可以不采取任何动作
}).catch(() => {
// 钉钉侧出现了技术异常,比如打开弹窗失败等,出现概率非常低
});
示例pc如何在工作台打开测试页面:
dingtalk://dingtalkclient/page/link?url=https%3A%2F%2Fabc.com%2Ftest.html%3FcorpId%3Ddingf0f110ce4fd10fb7ee0f45d8e4f7c288%26ddtab%
钉钉通过开发者平台提供了应用授权相关的接口,主要有:
获取应用授权列表:
Copy
https://oapi.dingtalk.com/user/list_auth_app
用法:调用此接口,可以获取当前用户授权的所有应用列表。
响应结果包含:
appId:应用编号
appName:应用名称
nickName:授权用户的昵称
authType:授权类型
authTime:授权时间
授权应用:
Copy
https://oapi.dingtalk.com/topapi/app/auth
用法:调用此接口,将应用授权给指定的用户或用户组。
去除应用授权:
basic
Copy
https://oapi.dingtalk.com/topapi/app/remove_auth
用法:调用此接口,将指定的用户或用户组的应用授权撤销。
获取授权范围:
通过获取应用授权列表接口,可以获取 authType(授权类型)字段。
例如:
read:只读授权
all:全权限授权
custom:自定义授权
对于自定义授权,还可以调用解密接口,获取具体的授权范围。
如获取用户信息的授权范围为:
json
Copy
{
"user_info": {
"detail_info": true,
"base_info": true
}
}
希望以上接口和示例能够帮助到你。如果还有其他关于钉钉应用授权的问题,欢迎继续提问。