R retreive information from Eikon cloud

253 Views Asked by At

I am trying to get data from Eikon Elektron cloud platform.

I ran following codes from https://github.com/Refinitiv/websocket-api/blob/master/Applications/Examples/R/market_price_authentication.R:

library(curl)
> content = paste("grant_type=", "password","&username=", user, "&password=", password, sep="") 
> h <- new_handle(copypostfields = content) 
> h 
<curl handle> (empty) 
> handle_setheaders(h, 
+ "Content-Type" = "application/x-www-form-urlencoded" 
+ ) 
> handle_setopt(h, ssl_verifypeer = FALSE, ssl_verifyhost = FALSE) 
> auth_url = paste("https://", auth_hostname, sep="")# ":", auth_port, "/getToken", sep="") 
> auth_url 
[1] "https://api.refinitiv.com/auth/oauth2/v1/token" 
> req <- curl_fetch_memory(auth_url, **handle = h**) 
> req 
$url 
[1] "https://api.refinitiv.com/auth/oauth2/v1/token" 

$status_code 
[1] 400 

$type 
[1] "application/json" 

**> h 
<curl handle> (https://api.refinitiv.com/auth/oauth2/v1/token)**

> res_headers = parse_headers(req$headers) 
> auth_json_string = rawToChar(req$content) 
> auth_json = fromJSON(auth_json_string) 
> cat(toJSON(auth_json, pretty=TRUE, auto_unbox=TRUE)) 
{ 
"error": "invalid_request" 
}

As you can see, I got invalid request error. I think the problem lies in curl_fetch_memory and that the handle=h is using same input as auth_url, however it should use something similiar to the input of content. What can I change in my code to make it work?

1

There are 1 best solutions below

0
Epo Luusk On

I found solution how to access the URL. In github was wrongly written that app_id in R file should equal to the code from the App Key generator in Reuters. However, app_id and client_id are different things and you should add client_id=value from App Key generator (not app_id).+ also do not forget to include trapi and etc.. to your content.