钉钉如何获取ticket套件?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
在钉钉中获取Ticket套件通常需要通过调用相关API接口来实现。以下是详细的步骤和说明,帮助您完成Ticket的获取和使用:
在获取Ticket之前,需要确保您的钉钉应用已正确配置相关权限。以下是关键权限点及其对应的接口信息:
Contact.User.mobile
Contact.User.Read
snsapi_base
qyapi_base
注意:确保您的应用已开通上述权限,并根据实际需求选择合适的权限点。
钉钉的Ticket通常用于生成免密且免登录的访问链接,适用于嵌入第三方系统或分享场景。以下是调用CreateTicket
接口的具体步骤:
参数名 | 类型 | 是否必填 | 描述 | 示例值 |
---|---|---|---|---|
WorksId | string | 是 | 开通嵌入的报表ID(支持仪表板、电子表格、数据大屏等) | a206f5f3-****-e9b17c835b03 |
TicketNum | integer | 否 | Ticket的票据数量,默认值为1,最大值为99999 | 1 |
UserId | string | 否 | Quick BI的UserId,可通过QueryUserInfoByAccount 接口获取 | 46e537466****92704c8 |
AccountName | string | 否 | 用户账号名称,格式为主账号或[主账号:子账号] | 测试用户 |
AccountType | integer | 否 | 用户账号类型(1:阿里云账号,3:Quick BI自建账号,4:钉钉等) | 4 |
ExpireTime | integer | 否 | 过期时间,单位为分钟,默认为240 | 200 |
参数名 | 类型 | 描述 | 示例值 |
---|---|---|---|
RequestId | string | 请求ID | D787E1A3-A93C-424A-B626-C2B05DF8D885 |
Result | string | 生成的Ticket值 | ccd3428c-****-****-a608-26bae29dffee |
Success | boolean | 请求是否成功 | true |
获取Ticket后,可以将其拼接到目标URL中,生成免密且免登录的访问链接。以下是一个通用的拼接格式:
https://<目标域名>/<目标路径>?<参数>=<值>&sls_ticket=<Ticket>&isShare=true&hideTopbar=true&hideSidebar=true&ignoreTabLocalStorage=true
假设目标域名为sls.console.aliyun.com
,目标路径为lognext/project/<Project名称>/dashboard/<仪表盘ID>
,则拼接后的链接可能如下:
https://sls.console.aliyun.com/lognext/project/<Project名称>/dashboard/<仪表盘ID>?slsRegion=<Project所在地域>&sls_ticket=eyJ***************.eyJ******************.KUT****************&isShare=true&hideTopbar=true&hideSidebar=true&ignoreTabLocalStorage=true
如果需要在第三方系统中动态生成Ticket,建议使用RAM角色调用CreateTicket
接口,以降低安全风险。以下是具体操作步骤:
创建RAM用户和RAM角色:
STS的管理权限
(AliyunSTSAssumeRoleAccess
)。授权RAM角色:
CreateTicket
接口的权限以及日志服务的相关权限。调用AssumeRole接口:
AssumeRole
接口,获取SecurityToken
、AccessKeySecret
和AccessKeyId
。调用CreateTicket接口:
CreateTicket
接口生成Ticket。通过以上步骤,您可以成功获取并使用钉钉的Ticket套件,实现免密且免登录的访问功能。