Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Следующая версия
Предыдущая версия
product:api:integration_examples:excel-power-query [12.11.2026 11:55] – создано Белугин Александрproduct:api:integration_examples:excel-power-query [12.11.2026 12:37] (текущий) – Белугин Александр
Строка 1: Строка 1:
 ====== Получение онлайн-данных из ADVANTA в таблице Excel ====== ====== Получение онлайн-данных из ADVANTA в таблице Excel ======
  
-Инструкция для MS EXCEL 2021 и новее. Описывает прямой доступ к данным из LINQ-источников ADVANTA в EXCEL через PowerQuery.+Инструкция подходит только для MS EXCEL 2021 и новее. Описывает прямой доступ к данным из LINQ-источников ADVANTA в EXCEL через PowerQuery.
  
 ===== Предварительные действия ===== ===== Предварительные действия =====
Строка 35: Строка 35:
 <code javascript> <code javascript>
 let let
-    // Перемнные +    // Переменные 
-    servername = "sitename.ru", +    servername = "your_sitename.ru", 
-    // Этап 1: Авторизация и сохранение токена в куки+    login = "your_login", 
 +    password = "your_password", 
 +    dataSourceId = "your_linq_uid", 
 +    pageSize = 20, 
 +     
 +    // Этап 1: Авторизация и сохранение токена 
     loginUrl = "https://" & servername & "/api/auth/login",     loginUrl = "https://" & servername & "/api/auth/login",
-    loginData = "{""Login"": ""your_login"", ""Password"": ""your_password""}",+    loginData = "{""Login"": """ & login & """, ""Password"": """ & password & """}", 
 +    
     // Отправка запроса на авторизацию и получение токена     // Отправка запроса на авторизацию и получение токена
-    authResponse = Json.Document(Web.Contents(loginUrl, [Headers=[#"Content-Type"="application/json"], Content=Text.ToBinary(loginData)])), +    authResponse = Web.Contents( 
-    token = authResponse,+        loginUrl, 
 +        [ 
 +            Headers = [ 
 +                #"Content-Type" = "application/json", 
 +                #"Accept" = "application/json" 
 +            ], 
 +            Content = Text.ToBinary(loginData) 
 +        ] 
 +    ), 
 +    token = Json.Document(authResponse), 
 +    
     // Сохранение токена в переменную для использования в следующем запросе     // Сохранение токена в переменную для использования в следующем запросе
     tokenCookie = "token=" & token & "; expires=Thu, 31 Dec 2099 23:59:59 UTC; path=/",     tokenCookie = "token=" & token & "; expires=Thu, 31 Dec 2099 23:59:59 UTC; path=/",
 +    
     // Этап 2: Получение данных с использованием сохраненного токена     // Этап 2: Получение данных с использованием сохраненного токена
     getDataUrl = "https://" & servername & "/api/queries/get",     getDataUrl = "https://" & servername & "/api/queries/get",
-    queryData = "{""DataSourceId"": ""enter_your_linq_uid"", ""PageSize"": 20}", +    queryData = "{""DataSourceId"": """ & dataSourceId & """, ""PageSize"": " & Number.ToText(pageSize) & "}", 
-    answer = Web.Contents(getDataUrl, [Headers=[#"Content-Type"="application/json", #"Authorization"="Bearer " & token], Content=Text.ToBinary(queryData)]),+     
 +    // Отправка запроса на получение данных из LINQ     
 +    answer = Web.Contents( 
 +        getDataUrl, 
 +        [ 
 +            Headers = [ 
 +                #"Content-Type" = "application/json", 
 +                #"Accept" = "application/json", 
 +                #"Authorization" = "Bearer " & token 
 +            ], 
 +            Content = Text.ToBinary(queryData) 
 +        ] 
 +    ),
     dataResponse = Json.Document(answer)     dataResponse = Json.Document(answer)
 in in