概述:
我想使用自定义连接器到图形 API 在 PowerApps 中发出批处理请求。
在我的 PowerApp 中,我创建了一个包含有效 JSON 的变量。
我制作了一个自定义连接器,其中包含发出批处理请求的操作。在“测试”选项卡中,我可以将我的 PowerApps 变量中的 JSON 粘贴到正文字段中,并发出成功的 API 请求。
但是,当我在 PowerApps 中通过将其作为参数传递给我的自定义连接器操作来使用相同的 JSON 时,它会返回错误:BadRequest,无效的批处理负载格式。
更多细节
我使用 PowerApps Monitor 查看 API 请求。这是该请求的正文(匿名)。我怀疑转义的引号可能是个问题
"body": "{\"requests\":[{\"id\":\"00ea5f2b-0000-0000-0000-7bf4ee2b0000\",\"method\":\"GET\",\"url\":\"/users/00ea5f2b-0000-0000-0000-7bf4ee2b0000\"},{\"id\":\"00006977-0000-0000-0000-d17976e0000\",\"method\":\"GET\",\"url\":\"/users/00006977-4cbf-410e-0000-d17976e00000\"}]}"
对该请求的响应是
"body": {
"error": {
"code": "BadRequest",
"message": "Invalid batch payload format.",
"innerError": {
"date": "2022-01-14T23:51:48",
"request-id": "00007cf4-76ad-467a-0000-0fd842980000",
"client-request-id": "00007cf4-76ad-467a-0000-0fd842980000"
}}}
我的自定义连接器操作的 Swagger 代码是:
/v1.0/$batch:
post:
responses:
default:
description: default
schema: {}
summary: Batch Get Users
description: Get a batch of users by sending an array of user ids to fetch.
operationId: BatchGetUsers
parameters:
- name: body
in: body
required: true
schema:
type: string
properties: {}