如何使用正确的请求URL在Microsoft Flow中创建自定义连接器?

时间:2018-02-22 10:55:01

标签: microsoft-flow clio-api

我正在尝试为Clio API(https://app.clio.com/api/v4/documentation)创建自定义连接器。我能够成功验证并访问Postman中的API,测试了不同类型的请求并获得了良好的结果。

然后我按照https://docs.microsoft.com/en-us/connectors/custom-connectors/define-postman-collection的指示将集合导出到Postman文件并将其导入MS Flow帐户中的新自定义连接器。作为该过程的一部分,我输入了以下设置:

计划:HTTPS

主持人:app.clio.com

基本网址:/

在自定义连接器请求中,除了拥有完全限定的请求网址外,所有定义都可以接受,但它们不包含https://app.clio.com

例如,一个请求应使用以下地址:

https://app.clio.com/api/v4/contacts.json

MS Flow中应输入网址的字段显示为灰色且仅包含/api/v4/contacts.json,如下所示: screenshot from MS Flow definition for this API request

无法输入灰色的字段。相反,我点击了"从示例导入,"这将导致一个窗口,我可以在其中输入完全限定的URL。在我这样做之后,点击" import"按钮,窗口仍然列出如上所示的部分URL。

起初我认为这是故意的,因为我已经在其他地方输入连接器的主机,我认为Flow会将它们放在一起以将请求发送到正确的URL。但事实并非如此:当我测试操作时,我收到了404错误:

    {
  "error": "{\r\n  \"code\": 404,\r\n  \"message\": \"Unable to match incoming request to an operation.\",\r\n  \"source\": \"msmanaged-na.azure-apim.net\",\r\n  \"path\": \"\",\r\n  \"clientRequestId\": \"500779d5-356d-4c79-bf96-caf2-f5bc2919\"\r\n}"
}

当我查看请求时,这是URL:

https://msmanaged-na.azure-apim.net/apim/clio2.5fb03ce8462066f352.5fdeb6bc35b813689d/92053762-68ce-4c1d-9085-0785-0fd98c3b/api/v4/contacts.json?type=Person

很明显Flow没有使用正确的请求URL,我无法弄清楚如何输入完全限定的请求URL。谁能告诉我我做错了什么?

我发现了另一条评论,其他人遇到了同样的问题:https://stackoverflow.com/a/48813209/7191369所以我并不是唯一的问题。在此先感谢您的帮助。

修改

在进行一些额外搜索后,请求中的地址(https://msmanaged-na.azure-apim.net)是每篇帖子所需的代理重定向网址:https://powerapps.microsoft.com/en-us/blog/custom-api-with-authentication/,并在处理OAuth时使用。但这个糟糕的部分是我无法看到请求网址,因此我无法排除故障。有没有办法看到代理服务器发送给Clio API的请求是什么?

1 个答案:

答案 0 :(得分:0)

发布此问题已经有一段时间了,但让我给您一个建议,将URL的 / api / v4 部分包含在 Base URL 属性中流。这样,所有端点将使用指定的版本,而不必在每个请求中一一定义它们。

除非您有意在请求中使用不同版本:)无论如何,我很高兴您能够解决此问题。