在JD授权的时候,已经设置好了JSB 安全域名一致,授权的时候提示“ 不支持打开该协议类型:bytedance”。
看下面的代码,sdk.config 的时候弹出的这个错误提示,不管设置里面是什么内容,甚至都删了也会提示 不支持打开该协议类型:bytedance,所以这是什么问题?
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8"/>
<title>抖音用户授权</title>
<!-- 需要主动引入JSSDK -->
<script src="https://unpkg.byted-static.com/bridge/douyin_open/1.0.10/lib/douyin_open.umd.js"></script>
</head>
<body>
<div>抖音用户授权 0.0.26</div>
<button onclick="navigateBack()">navigateBack</button>
</body>
<script type="text/javascript">
(function () {
const sdk = window.DouyinOpenJSBridge;
sdk.config({
params: {
client_key: "{{ client_key }}", // clientKey在你的网页应用申请通过后得到
signature: "{{signature}}",// 服务端计算的签名,该签名被抖音开放平台验证通过后方可调用jsb方法
timestamp: "{{timestamp}}", // 时间戳
nonce_str: "{{nonce_str}}",
url: "https://dy.qycm.cn/douyin_app/web_authorization.html" //和后台生成签名时用的url必须一模一样 建议直接写死,ios端用location.href获取时会出问题, // 为应用申请的 JSB 安全域名下的链接,需要携带协议
}
});
sdk.ready(() => {
sdk.jumpOpenAuth({
params: {
client_key: "{{ client_key }}", // clientKey在你的网页应用申请通过后得到
state: '', // 自定义状态,详见下方说明
scope: 'user_info', // 需要授权的scope列表, 多个用英文逗号分隔
response_type: 'code' // 默认填‘code’,详见下方说明
},
success: ({ticket}) => {
{#此处的ticket就相当于授权时的code, 拿着ticket去后台走openapi里的授权流程就可以了#}
alert(Object.values(res));
},
error: res => {
alert(Object.values(res));
}
});
});
sdk.error(res => {
// Config error回调
alert(Object.values(res));
});
})(window);
function navigateBack() {
tt.miniProgram.navigateBack({
delta: 1,
});
}
</script>
</html>