文档:在React Native应用中使用Axios的Direct Line API

文档:在React Native应用中使用Axios的Direct Line API

💡 原文英文,约700词,阅读约需3分钟。
📝

内容提要

本文介绍了如何在React Native应用中使用Microsoft Direct Line API,包括获取密钥、生成和刷新令牌、启动和重连对话、发送接收消息及监控连接状态,从而实现与Copilot Agent Bot的可靠通信。

🎯

关键要点

  • 本文介绍了在React Native应用中使用Microsoft Direct Line API的步骤。
  • 获取Direct Line密钥是使用API的前提条件。
  • 需要设置React Native开发环境并安装Axios库。
  • Direct Line API需要通过密钥进行身份验证。
  • 生成令牌用于安全通信,令牌有有效期,需要定期刷新。
  • 启动与机器人对话需要使用生成的令牌。
  • 如果连接丢失,可以使用conversationId和WebSocket重新连接。
  • 可以向机器人发送用户消息或活动。
  • 使用WebSocket实时接收机器人的响应。
  • 可以显式结束对话,但Direct Line API不要求必须调用结束对话的API。
  • 监控WebSocket连接状态,断开时可以回退到轮询方式。
  • 提供了完整的指南以集成Direct Line API到React Native应用中。

延伸问答

如何在React Native应用中获取Direct Line密钥?

可以从Azure Bot Service门户获取Direct Line密钥。

在React Native中如何使用Axios生成令牌?

使用Axios向'https://directline.botframework.com/v3/directline/tokens/generate'发送POST请求,并在请求头中包含Authorization: Bearer {secret}。

如果连接丢失,如何重新连接到对话?

可以使用conversationId和WebSocket重新连接,通过向'https://directline.botframework.com/v3/directline/conversations/{conversationId}?watermark=0'发送GET请求。

如何在React Native应用中监控WebSocket连接状态?

可以通过监听WebSocket的onclose事件来监控连接状态,并在连接关闭时回退到轮询方式。

如何向机器人发送用户消息?

使用Axios向'https://directline.botframework.com/v3/directline/conversations/{conversationId}/activities'发送POST请求,包含用户消息的活动数据。

Direct Line API是否要求显式结束对话?

不需要,Direct Line API不要求必须调用结束对话的API。

➡️

继续阅读