0

我正在尝试通过 Rest API 调用通过 Circuit Bot 在电路对话中发布消息。请帮忙。

4

2 回答 2

0

这分两步完成:

  1. 使用身份验证端点为您的机器人获取令牌
  2. 使用消息端点(和步骤 1 中的令牌)发布消息

假设您已经拥有:

  • 机器人(客户端 ID、客户端密码)
  • 对话 ID(机器人必须是它的参与者)

第 1 步:获取令牌

curl -X POST 
  https://<circuitBaseUrl>/oauth/token \
  -H 'Authorization: Basic <base64-encode(<clientId>:<clientSecret>)>' \
  -H 'Content-Type: application/x-www-form-urlencoded' \
  -d 'grant_type=client_credentials&scope=WRITE_CONVERSATIONS'

从响应中获取 access_token

第 2 步:使用 REST API 发布

curl -X POST \
  https://<circuitBaseUrl>/rest/v2/conversations/<conversationId>/messages \
  -H 'Authorization: Bearer <access_token>' \
  -H 'Content-Type: application/x-www-form-urlencoded' \
  -H 'Host: beta.circuit.com' \
  -d content=hello%20from%20postman

欢迎来到电路开发者社区 ;-)

于 2019-09-19T13:32:02.660 回答
0

你有两个选择:

  1. 使用传入的 webhook。这非常简单,不需要 OAuth,因为 webhook url 包含令牌和特定对话。拥有此 URL 的任何人都可以在对话中发帖。有两种选择,以您自己的身份发布,或以机器人的身份发布。如果您想作为机器人发布,那么您首先需要使用“管理应用程序 > 自定义应用程序”页面创建一个 webhook 机器人。有关更多信息,请参阅https://www.circuit.com/unifyportalfaqdetail?articleId=164448以及这些常见问题解答页面上的其他 webhook 文章。

    这是在传入的 webhook url 上发布消息的 curl 示例。

    curl https://circuitsandbox.net/rest/webhooks/incoming/9999999-0b95-4088-b272-5bef80f8e68e -H "Content-Type: application/json" -d '{"text":"hello world"}'

  2. 通过“管理应用程序 > 自定义应用程序”创建一个实际的 OAuth 2.0 机器人并使用常规 REST API ( https://circuitsandbox.net/rest/v2/swagger/ui/index.html )。github 上有几个 REST 示例。有关简单的 REST 机器人示例,请参阅https://github.com/circuit/circuit-REST-bot

于 2019-09-19T13:40:57.857 回答