В поисках помощи я создал поток и приложение на основе холста в мощных приложениях, которые вызывают API, и, наконец, я заставил его работать, но, похоже, должен быть более простой способ сделать это.
В своем потоке я беру тело и анализирую его, чтобы получить именно то, что мне нужно, а затем возвращаю тело этого ответа в приложение холста. Я мог бы обойти этот шаг и просто вернуть тело шага вызова API, но мой главный вопрос в том, что мне кажется слишком много писать какое-то регулярное выражение в моей функции, когда я нажимаю кнопку, чтобы вызвать свой поток.
Это создает для меня коллекцию с правильными полями, но есть ли более простой способ для приложения узнать мою схему без необходимости определять ее вручную?
Используйте новую команду Power Platform CLI, которая автоматически создаст Power App из REST API.
Если единственная причина, по которой вы используете Flow, — вызов API из Power Apps, то да, есть более простой способ. Вы можете создать Пользовательский коннектор и полностью прекратить использование Flow.
Шаги:
make.powerapps.com
нажмите Dataverse
, затем Custom Connectors
+ New custom connector
Create from blank
и назовите пользовательский коннектор.host
(без https://
)
base url
до /
Security -->
No authentication
на этом экране и использовать заголовок запроса на экране Definition
Definition -->
New action
, затем назовите Summary
, Description
и Operation ID
.
Request
нажмите + Import from sample
GET, POST, etc.
), введите URL-адрес запроса и нажмите Import
- Вам нужно вставить пример URL со ВСЕМИ необходимыми параметрами.https://earthquake.usgs.gov/fdsnws/event/1/query?format=geojson&latitude=48.814963&longitude=-122.71135&maxradiuskm=50&orderby=magnitude-asc
Authorization
, если это необходимо.Response
нажмите Default
, затем Import from sample
Import
Create connector
Code preview -->
Test -->
+ New connection
Request
, это также применимо.Custom Connectors
, выбрать тот, который вы только что создали, а затем щелкнуть до конца, чтобы перейти к экрану Test
.Test operation
Add data
и найдите только что созданный пользовательский коннектор.
Button
и добавьте это к свойству OnSelect
:ClearCollect(colName,
'CustomConnectorName'.OperationID(
{
required_param1: "text",
required_param2: 1234,
required_paramN: "whatever",
}
)
)
Фактический пример:
ClearCollect(colEarthquakes,
'2022-11-27_SO_CustomConnector'.GETearthquakes(
{
format: "geojson",
latitude: 48.814963,
longitude: -122.71135,
maxradiuskm: 50,
orderby: "magnitude-asc"
}
)
)
Button
и изучите ответ, который возвращает настраиваемый коннектор. В зависимости от формы JSON вам может понадобиться «забраться» во вложенный JSON, используя точечную нотацию в функции ClearCollect()
.Это сблизит вас. Если вы хотите больше, посмотрите это видео
Примечание. Пользовательские коннекторы — это дополнительная функция. Всем пользователям приложения потребуется лицензия PowerApps на пользователя или на приложение.