Как указать имя ключа API в Excel. Ключ веб-API можно указать, только если указано имя ключа веб-API.

У меня есть стандартный MVC API OData enabled service, который работает при анонимной аутентификации. Я хотел бы передать ключ веб-API в приложение... которое отлично работает при добавлении с помощью кода или почтальона.

К сожалению, мои пользователи предпочли бы использовать Excel, и я не могу найти нигде в Excel, чтобы ввести эти данные...

Я проверил, что Fiddler и Excel даже не пытаются отправить данные клиенту, и я столкнулся с одной из ошибок ниже.

Что такое действительный ключ в Excel и как его ввести?

введите здесь описание изображения

введите здесь описание изображения


person Kye    schedule 10.05.2018    source источник


Ответы (1)


В Excel откройте редактор Power Query и вставьте приведенный ниже код или измените код по умолчанию: добавьте ApiKeyName = "ApiKey" как часть параметра 3 OData.Feed.

let
    Source = OData.Feed("https://localhost/odata", null, [Implementation="2.0", ApiKeyName = "ApiKey"]),
    Table_table = Source{[Name="Table",Signature="table"]}[Data]
in
    Table_table

Теперь вы можете использовать диалоговое окно учетных данных веб-API. Ваш ключ будет частью строки HTTP-запроса, отправляемой на сервер: ?ApiKey=abcdefg

См. также аутентификацию с помощью Excel Power Query в отношении .Net Odata Web. API

person OpenSBR    schedule 11.12.2018
comment
Не могли бы вы расширить свой ответ, чтобы объяснить, как сделать то же самое, если токен API должен быть передан в качестве заголовка? Я пробовал [Headers=[ApiKeyName="Authorization"]], но получаю ту же ошибку, что и ОП. - person Geoff; 09.05.2019