用于生成直达线令牌的机器人框架 api 会导致网络聊天无法处理的令牌。
最近我注意到我网站上的网络聊天无法再建立直线连接。使用直达线秘密会产生有效的网络聊天。使用机器人框架 api 生成 webchat 无法处理的非常长的令牌(816 个字符)(导致消息无法连接。这曾经工作得很好,但现在它坏了(据我所知没有任何变化)
我使用一些 PHP 来调用 api 并获取令牌:
<?php
$botSecret = 'DIRECLINE SECRET';
$response = wp_remote_get( 'https://webchat.botframework.com/api/tokens', array( 'headers' => 'Authorization: BotConnector ' . $botSecret ) );
if( is_array($response) ) {
$header = $response['headers'];
$token = $response['body'];
}
?>
<script type="text/javascript">
var webChatToken = <?php echo $token; ?>;
</script>
和 Html\Javascript 来显示网络聊天客户端
<html>
<body>
<div id="webchat" role="main"></div>
<script src="https://cdn.botframework.com/botframework-webchat/latest/webchat.js"></script>
<script>
const store = window.WebChat.createStore({}, ({ dispatch }) => next => action => {
if (action.type === 'DIRECT_LINE/CONNECT_FULFILLED') {
dispatch({
type: 'WEB_CHAT/SEND_EVENT',
payload: {
name: 'webchat/join',
value: { language: window.navigator.language }
}
});
}
return next(action);
});
window.WebChat.renderWebChat({
directLine: window.WebChat.createDirectLine({ token: webChatToken }),
store,
styleOptions: {
},
userID: 'N/A',
username: 'Web Chat User',
locale: 'nl-NL'
}, document.getElementById('webchat'));
</script>
</body>
</html>
我希望有一个较短的令牌或至少一个可用于使用网络聊天的令牌
临摹微笑