Я хочу получать данные о погоде через API для всех 50 штатов.Сайт, с которого я пытаюсь получить это: https://www.ncdc.noaa.gov/cdo-web/webservices/v2#gettingStarted
Я ищу данные о температуре и количестве осадков по штатам за январь 2017 г. - настоящее время по дням.
Ниже то, что я имею до сих пор.Я получил по электронной почте токен с именем «Weather Secret»
##Accessing Weather Data
weatherkey <- "nickknauer1@gmail.com"
weatherSecret <- "tzDOSkVWMToIXgVKfdOuOytFQvPkXTjv"
library("httr")
library("jsonlite")
response = POST(
'https://www.ncdc.noaa.gov/cdo-web/api/token',
accept_json(),
authenticate(weatherkey, weatherSecret),
body = list(grant_type = 'client_credentials'),
encode = 'form',
verbose()
)
token = content(response)$access_token
HeaderValue = paste0('Bearer ', token)
Это вывод:
-> POST /cdo-web/api/token HTTP/1.1
-> Host: www.ncdc.noaa.gov
-> Authorization: Basic bmlja2tuYXVlcjFAZ21haWwuY29tOnR6RE9Ta1ZXTVRvSVhnVktmZE91T3l0RlF2UGtYVGp2
-> User-Agent: libcurl/7.59.0 r-curl/3.2 httr/1.3.1
-> Accept-Encoding: gzip, deflate
-> Content-Type: application/x-www-form-urlencoded
-> Accept: application/json
-> Content-Length: 29
->
>> grant_type=client_credentials
<- HTTP/1.1 500 Internal Server Error
<- Date: Mon, 22 Oct 2018 21:08:52 GMT
<- Server: Apache-Coyote/1.1
<- Strict-Transport-Security: max-age=31536000
<- Content-Type: application/json;charset=UTF-8
<- Access-Control-Allow-Origin: *
<- Vary: Accept-Encoding
<- Content-Encoding: gzip
<- Content-Length: 117
<- Connection: close
Кто-нибудь знает, почему это соединение не работает?
Я также попробовал ниже, и это тоже не сработало:
id_secret <- RCurl::base64(paste(weatherkey,weatherSecret,sep=':'))[[1]]
my_headers <- httr::add_headers(c(Authorization=paste('Basic',
id_secret,sep=' ')))
my_body <- list(grant_type='client_credentials')
my_token <- httr::content(httr::POST('https://www.ncdc.noaa.gov/cdo-web/api/token',
my_headers,body=my_body,encode='form'))