В PowerApps есть два типа коннекторов:
- табличных (те, которые вы можете использовать имя непосредственно в виде таблицы, например, как свойство Items галереи. Например:
MySharePointList
- «функции» или «API» (не официальное имя, как я их называю), в котором вам нужно вызвать функцию для получения значения. Например:
Office365.GetEmails
В настоящее время вы можете создавать только настраиваемые соединители второго типа, поэтому вы не можете, например, иметь настраиваемый соединитель, в котором вы бы выбрали таблицу или другое значение.
ВыОднако он может создать пользовательский соединитель, который принимает ключ API, и когда создателю необходимо создать новое соединение, он должен будет передать это значение, и вы можете использовать это значение в своем API, даже если он не является ключом.
Например, в API, созданном из файла OpenAPI, указанного ниже, он определяет ключ API с именем CustomValue
, который передается в заголовке запроса, поэтому при попытке создать соединение он спросит yoи для этого, как показано ниже.
Теперь каждый запрос, сделанный из этого соединения, будет иметь значение, которое вы использовали для создания соединения в заголовкеи его можно прочитать из вашего пользовательского API для реализации вашей логики.
Надеюсь, это поможет.Вы также можете создать новый запрос функции на доске идей PowerApps , чтобы включить эту функцию без обходного пути использования (поддельного) ключа безопасности.
Определение 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": []
}