Я думаю, что вы должны удалить свой ключ API из своего вопроса, вы, вероятно, не хотите, чтобы люди злоупотребляли этим сервисом или пользовались им, используя ваши учетные данные. (Возможно, стоит попросить поставщика услуг выдать вам новый ключ API в качестве замены, чтобы никто не смог использовать его в вашем ответе.)
Если вы замените "REPLACE ME WITH YOUR API KEY"
(в приведенном ниже коде) на свой фактический ключ API (между двойными кавычками), то этот код должен делать то, что вы пытались сделать.
let
startDate = Date.ToText((Date.AddDays(Date.From(DateTime.FixedLocalNow()),-90)), "yyyy-MM-dd"),
endDate = DateTime.ToText((DateTime.LocalNow()), "yyyy-MM-dd"),
jsonResponse =
let
response = Web.Contents("https://www.findmyshift.com/staff-view", [Query = [r = "2rr67u5y9i", apikey = "REPLACE ME WITH YOUR API KEY", format = "json", start = startDate, finish = endDate]]),
json = Json.Document(response)
in
json,
toTable = Table.FromRecords(jsonResponse),
replaceValue = Table.ReplaceValue(toTable, "'", "'", Replacer.ReplaceText, Table.ColumnNames(toTable)) // Replace in all columns
in
replaceValue
Table.FromRecords
может делать то, что вы пытались сделать (без расширения и переименования всех динамических столбцов)
Web.Contents
может создать для вас строку запроса (и автоматически обработает кодировку URL), если вы передадите аргумент параметру Query
.