【问题标题】:Respond to a bot call in Microsoft Teams with Graph API使用 Graph API 响应 Microsoft Teams 中的机器人调用
【发布时间】:2018-10-30 23:09:05
【问题描述】:

我试图在 Teams 中响应呼叫,但实际上我没有收到机器人的响应。

首先我从 Graph API 获得 access_token。

然后我有一个拦截机器人调用的路由。

app.post("/api/call", function(req, res) {
  if (j === 1) {
    j = j + 1;
    res.status(204).send();
  } else {
    var answerbody = {
      callbackUri: "https://8a73b7ad.ngrok.io/api/call",
      acceptedModalities: ["audio"],
      mediaConfig: {
        "@odata.type": "#microsoft.graph.serviceHostedMediaConfig",
        preFetchMedia: [
          {
            uri: "https://cdn.contoso.com/beep.wav",
            resourceId: "1D6DE2D4-CD51-4309-8DAA-70768651088E"
          },
          {
            uri: "https://cdn.contoso.com/cool.wav",
            resourceId: "1D6DE2D4-CD51-4309-8DAA-70768651088F"
          }
        ]
      }
    };
    POST(
      "https://graph.microsoft.com/beta/" + req.body.resource + "/answer",
      answerbody
    )
      .then(
        data => console.log(data) // I get undefined
      )
      .catch(function(err) {
        console.log("err   " + err);
        res.status(200).send();
      });
  }
});

这里是 POST 函数

function POST(url, BB) {
  return new Promise(function(resolve, reject) {
    var options = {
      url: url,
      method: "POST",
      headers: {
        Accept: "application/json",
        Authorization: "Bearer " + token
      },
      body: BB,
      json: true
    };
    request(options)
      .then(function(body) {
        resolve(body);
      })
      .catch(function(err) {
        reject(err);
      });
  });
}

正如documentation 中提到的,服务器首先回复 204 以便在 Graph API 协议中获得响应。

实际上我没有得到回应。机器人仍在响铃,直到它收到语音消息:“你还不能与机器人交谈,我们正在努力”。

正如Teams API documentation 中提到的,我应该得到带有资源ID 和其他信息的回调,以便能够接听电话。

所以我使用我的POST 函数来回答。但在这里我没有收到任何202 Accepted 响应,如文档中所示,而是收到多个具有不同资源 ID 的回调,然后几秒钟后我收到语音消息。

【问题讨论】:

    标签: node.js azure-active-directory azure-ad-graph-api microsoft-teams


    【解决方案1】:

    解决方法是将acceptedModalities: ["audio"] 改为acceptedModalities: ["Audio"]

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-11-21
      • 2020-10-05
      • 1970-01-01
      • 2017-06-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多