Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Power BI + IIKO, Нужно добавить в PowerBI отчет из IIKO.
 
Задача стоит получать регулярно olap отчет из IIKO в Power BI по api. Стандартный OLAP.
Проблема сейчас именно в получении данных. Визуализация отчета на нашей стороне, с вас только код авторизации, получения данных и логаут
Последовательность выполнения Web.Contents, С ума меня сведет
 
Цитата
написал:
Цитата
stanar написал:
Видно в фидлере
Это где видно?

Как я вижу:
PQ смотрит на это: in
   razlog
Чтобы получить razlog нужно выполнить logout(key). Задействован key. Чтобы получить key, нужно выполнить token("sdfsdfsdgsddgfsd").
Все.
Что не используется для получения конечного результата - игнорируется.
Возможно я ошибаюсь)

ps/ написал я то же самое что ранее написал surkenny  
Видно в приложенном скрине. Фидлер - приложение для перехвата трафика.
Решил проблему. Тупо встроил последний запрос во вновь добавленный столбец. Костыль конечно, но работает. Спасибо всем неравнодушным
Последовательность выполнения Web.Contents, С ума меня сведет
 
Ну и не совсем он их игнорирует. Выполняет после шагов key и razlog. Видно в фидлере
Последовательность выполнения Web.Contents, С ума меня сведет
 
Во всех курсах/пособиях указано, что после in может не всегда стоять последний шаг и это нормально. Но нигде не указано, что шаги могут игнорироваться.
Столько перерыл уже литературы и видосов - ноль информации.
Зверею.
Последовательность выполнения Web.Contents, С ума меня сведет
 
Есть код. В нем две функции. Одна отправляет пасс и возвращает токен. Вторая отправляет токен и освобождает лицензию. И есть запрос веб  Web.Contents. Код ниже. Они идут по порядку. Логика - отправили пасс, получили токен=>отправили запрос с токеном и получили ответ=>отправили токен и освободили лицензию. Все описано по порядку. Почему он сначала отправляет пасс, затем освобождает лицензию, а только потом отправляет запрос с пассом? На скрине запросы в фидлере
Код
let
    key = token("sdfsdfsdgsddgfsd"),
    a = Web.Contents("http://garage-chain.cafegarage.by:9080/resto/api/employees?key="&key),
    b = Xml.Tables(a),
    razlog=logout(key)
       
in
    razlog
Получение и передача токена Power Query
 
Пришел вот к этому. Но он выполняет сначала запрос Источник, потом запрос rat, а потом запрос "а". Но он уже не работает, потому что разлогинивается..
Почему такой порядок выполнения? Что-то тяжко, день убил на эту штуку
Цитата
let
   
   Источник = Table.FromColumns({Lines.FromBinary(Web.Contents("http://garage-chain.cafegarage.by:9080/resto/api/auth?login=fiir&pass=13798e935f3f7d...), null, null, 1251)}),
   Token = Источник{0}[Column1],
     
   a = Web.Contents("http://garage-chain.cafegarage.by:9080/resto/api/employees?key="&Token,[Headers=[Ac...),
   b = Xml.Tables(a),
             
   rat=Table.FromColumns({Lines.FromBinary(Web.Contents("http://garage-chain.cafegarage.by:9080/resto/api/logout?key=" & Token), null, null, 1251)})
     


     
in
   rat
Изменено: stanar - 07.09.2022 18:46:44
Получение и передача токена Power Query
 
let
   Источник = Table.FromColumns({Lines.FromBinary(Web.Contents("http://garage-chain.cafegarage.by:9080/resto/api/auth?login=****&pass=****), null, null, 1251)}),
   Column1 = Источник{0}[Column1]
in
   Column1

Это первый запрос, который дает мне токен. Второй запрос
let
   url = "http://garage-chain.cafegarage.by:9080/resto/api/employees?includeDeleted=true";,
   headers = [

       Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
       Cookie = "key="&Token
     ],
   responce = Web.Contents(url,[
       Headers=headers
       
       ]),
   json = Json.Document(responce)
in
   json

Куда в него токен вставить? Как его забрать из первого запроса? Ругается, пишет что
Formula.Firewall: Запрос "Получение данных" (шаг "json") ссылается на другие запросы или этапы и поэтому не может напрямую обращаться к источнику данных. Измените эту комбинацию данных.

То есть предлагает объединить эти два запроса в одном. А так можно?
Получение и передача токена Power Query
 
Есть сервис, который отдает данные по API.
Чтобы эти данные получить - нужно первым запросом с логином и паролем получить токен. Затем этот токен подставить во второй запрос с параметрами. Ну и потом третьим запросом с полученным токеном разлогиниться

Первый запрос я составил, токен получил.
Вопрос: как передать полученный токен в другой запрос?

Я не настоящий сварщик пока, вопрос может быть глуп, но он есть)
Страницы: 1
Наверх