首页 > 解决方案 > 在电源应用程序中添加数据源时提示我请求的输入字段

问题描述

我需要创建一个自定义连接器,它将提示我一个输入字段,以便我可以传递参数值以从数据源获取我的实际数据。当我尝试从电源应用添加数据源时,它会提示我输入字段。在这里,我附上了一张示例图片。

我怎么能这样做?

示例图像

标签: powerappspowerapps-datatable

解决方案


PowerApps 中有两种类型的连接器:

  • 表格的(您可以直接将名称用作表格的那些,例如,作为画廊的 Items 属性。例如:MySharePointList
  • “函数”或“API”(不是官方名称,我喜欢如何称呼它们),您需要在其中调用函数来检索值。例如:Office365.GetEmails

目前,您只能在第二种类型中创建自定义连接器,因此您不能使用自定义连接器来选择表格或其他值。

但是,您可以创建一个采用 API 密钥的自定义连接器,当制造商需要创建新连接时,他们将需要传递该值,您可以在 API 中使用该值,即使不是作为密钥.

例如,在使用下面列出的 OpenAPI 文件创建的 API 中,它定义了一个调用的 API 密钥,该密钥CustomValue在请求标头中传递,因此当您尝试创建连接时,它会询问您,如下所示。

添加新连接

现在,从该连接发出的每个请求都将具有您用于在标头中创建连接的值,并且可以从您的自定义 API 中读取它以实现您的逻辑。

希望这可以帮助。您还可以在PowerApps Ideas 板中创建新功能请求以启用此功能,而无需通过使用(假)安全密钥的解决方法。

OpenAPI 定义

{
  "swagger": "2.0",
  "info": {
    "title": "StackOverflow53690242",
    "description": "Custom connector that requires a parameter when adding to app",
    "version": "1.0"
  },
  "host": "carlosfigueirapowerapps.azurewebsites.net",
  "basePath": "/api/",
  "schemes": [
    "https"
  ],
  "consumes": [],
  "produces": [],
  "paths": {
    "/ConnectorWithParameter": {
      "post": {
        "responses": {
          "default": {
            "description": "default",
            "schema": {
              "type": "object",
              "properties": {
                "FullName": {
                  "type": "string",
                  "description": "FullName"
                },
                "CustomValue": {
                  "type": "string",
                  "description": "CustomValue"
                }
              }
            }
          }
        },
        "summary": "Test",
        "description": "Test",
        "operationId": "Test",
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": false,
            "schema": {
              "type": "object",
              "properties": {
                "FirstName": {
                  "type": "string",
                  "description": "FirstName"
                },
                "LastName": {
                  "type": "string",
                  "description": "LastName"
                }
              }
            }
          }
        ]
      }
    }
  },
  "definitions": {},
  "parameters": {},
  "responses": {},
  "securityDefinitions": {
    "api_key": {
      "type": "apiKey",
      "in": "header",
      "name": "CustomValue"
    }
  },
  "security": [],
  "tags": []
}

推荐阅读