0

概述:

我想使用自定义连接器到图形 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: {}

有用的链接:Microsoft Graph API 批处理文档

4

0 回答 0