Как выполнить простой запрос API в Windows? - PullRequest
0 голосов
/ 19 мая 2019

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

Сайт с кодом: https://docs.co2signal.com/#introduction

Мой друг уже успешно запустил код в Терминале на Mac. Он получил ответ с некоторыми данными CO2. Когда я попробовал это в командной строке на Win10, это не сработало. Я пробовал также другие программы, такие как Git Bash или Postman. Все еще не работал.

Это оригинальный код запроса API:

curl 'https://api.co2signal.com/v1/latest?countryCode=DK' -H 'аутентификационный токен: myapitoken'

Требуется токен аутентификации: 2905e4afe4a7eb88. Поэтому правильный код должен выглядеть так:

curl 'https://api.co2signal.com/v1/latest?countryCode=DK'

-H 'токен авторизации: 2905e4afe4a7eb88'

Оригинальный сайт с кодом: https://docs.co2signal.com/#introduction

Ожидаемый результат: ответ от сервера с данными об уровнях CO2.

Фактические результаты: в любой программе есть следующая ошибка:
"message": "Не найден ключ API в заголовках или строке запроса"

1 Ответ

0 голосов
/ 19 мая 2019

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

Для этого вы можете использовать Windows Powershell, например, создать скрипт test.ps1:

$headers = New-Object "System.Collections.Generic.Dictionary[[String],[String]]"
$headers.Add("auth-token", 'myapitoken')

$response = Invoke-RestMethod 'https://api.co2signal.com/v1/latest?countryCode=DK' -Headers $headers

echo $response

PAUSE

Invoke-RestMethod является частью PowerShell 3.0, ср. здесь для документации .

Имейте в виду, что при выполнении этого фрагмента результат просто выводится на консоль. Команда PAUSE будет держать окно PowerShell открытым после завершения запроса.

Напечатанный результат, который я получаю, выглядит так:

_disclaimer : xyz
status      : ok
countryCode : DK
data        : @{fossilFuelPercentage=}
units       : @{carbonIntensity=gCO2eq/kWh}

Может быть, вам следует также попробовать другой код страны, поскольку нет данных о наличии DK.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...