Как легко вернуть ответ API из моего потока в приложение на основе холста в Power Apps?

В поисках помощи я создал поток и приложение на основе холста в мощных приложениях, которые вызывают API, и, наконец, я заставил его работать, но, похоже, должен быть более простой способ сделать это.

В своем потоке я беру тело и анализирую его, чтобы получить именно то, что мне нужно, а затем возвращаю тело этого ответа в приложение холста. Я мог бы обойти этот шаг и просто вернуть тело шага вызова API, но мой главный вопрос в том, что мне кажется слишком много писать какое-то регулярное выражение в моей функции, когда я нажимаю кнопку, чтобы вызвать свой поток.

Это создает для меня коллекцию с правильными полями, но есть ли более простой способ для приложения узнать мою схему без необходимости определять ее вручную?

Шаблоны Angular PrimeNg
Шаблоны Angular PrimeNg
Как привнести проверку типов в наши шаблоны Angular, использующие компоненты библиотеки PrimeNg, и настроить их отображение с помощью встроенной...
Создайте ползком, похожим на звездные войны, с помощью CSS и Javascript
Создайте ползком, похожим на звездные войны, с помощью CSS и Javascript
Если вы веб-разработчик (или хотите им стать), то вы наверняка гик и вам нравятся "Звездные войны". А как бы вы хотели, чтобы фоном для вашего...
Документирование API с помощью Swagger на Springboot
Документирование API с помощью Swagger на Springboot
В предыдущей статье мы уже узнали, как создать Rest API с помощью Springboot и MySql .
Начала с розового дизайна
Начала с розового дизайна
Pink Design - это система дизайна Appwrite с открытым исходным кодом для создания последовательных и многократно используемых пользовательских...
Шлюз в PHP
Шлюз в PHP
API-шлюз (AG) - это сервер, который действует как единая точка входа для набора микросервисов.
14 Задание: Типы данных и структуры данных Python для DevOps
14 Задание: Типы данных и структуры данных Python для DevOps
проверить тип данных используемой переменной, мы можем просто написать: your_variable=100
4
0
140
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Используйте новую команду Power Platform CLI, которая автоматически создаст Power App из REST API.

Ответ принят как подходящий

Если единственная причина, по которой вы используете Flow, — вызов API из Power Apps, то да, есть более простой способ. Вы можете создать Пользовательский коннектор и полностью прекратить использование Flow.

Шаги:

  1. Из make.powerapps.com нажмите Dataverse, затем Custom Connectors
  2. Нажмите + New custom connector
  3. Нажмите Create from blank и назовите пользовательский коннектор.
  4. Введите URL-адрес host (без https://)
    • Держите base url до /
  5. Нажмите Security -->
  6. Выберите правильный тип безопасности
    • Вы также можете выбрать No authentication на этом экране и использовать заголовок запроса на экране Definition
  7. Нажмите Definition -->
  8. Нажмите New action, затем назовите Summary, Description и Operation ID.
  9. Под Request нажмите + Import from sample
  10. Выберите метод (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, если это необходимо.
  11. Под Response нажмите Default, затем Import from sample
    • Вставьте все необходимые заголовки и ожидаемый (обычно JSON) ответ.
    • Мне нравится использовать Почтальон здесь...
  12. Нажмите Import
    • Power Apps неплохо анализирует ответ JSON. Каждый из них будет возвращен в ваше приложение. Вы можете редактировать/удалять/и т.д.
  13. В этот момент нажмите Create connector
  14. Прокрутите вниз и нажмите Code preview -->
    • Не связывайтесь с этим, если вы не знаете, что делаете
  15. Нажмите Test -->
  16. Нажмите + New connection
  17. В зависимости от того, как вы настроите безопасность для этого пользовательского коннектора, вы:
    • Войдите, используя свои учетные данные Windows
    • Вставьте ключ API
    • Или просто нажмите «Создать» (как в моем примере, где используется бесплатный API)
      • Если вы использовали заголовок Auth в области Request, это также применимо.
  18. Создание этого подключения «выкидывает» вас с экрана создания пользовательского соединителя. Вам нужно будет нажать Custom Connectors, выбрать тот, который вы только что создали, а затем щелкнуть до конца, чтобы перейти к экрану Test.
  19. Как только вы окажетесь там, вы должны увидеть, что соединение установлено.
  20. Введите необходимые параметры и нажмите Test operation
  21. Вы должны увидеть статус 200 и тело ответа.
    • На данный момент с пользовательским коннектором почти покончено.
  22. Вернитесь в свое приложение Canvas PowerApp, нажмите Add data и найдите только что созданный пользовательский коннектор.
  23. Добавьте элемент управления 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"
        }
    )
)
  1. Щелкните элемент управления Button и изучите ответ, который возвращает настраиваемый коннектор. В зависимости от формы JSON вам может понадобиться «забраться» во вложенный JSON, используя точечную нотацию в функции ClearCollect().

Это сблизит вас. Если вы хотите больше, посмотрите это видео

Примечание. Пользовательские коннекторы — это дополнительная функция. Всем пользователям приложения потребуется лицензия PowerApps на пользователя или на приложение.

Другие вопросы по теме