question

Upvotes
Accepted
1 1 2 4

Cannot create a token for my Python app

I am new and I am trying to access ESG data using the endpoint:

"https://api.refinitiv.com/data/environmental-social-governance/v1/universe"

I am stuck with the token generation.

My understanding is that I have to create a token from the web site

https://apidocs.edp.thomsonreuters.com/apps/apidocs > AppKey Generator

and then from the Python code:

params = {"universe":"IBM.N"}  
response = requests.get(endpoint, headers={'Authorization': 'Bearer '+access_token}, params=params)

Is this correct? Or rather I have to have my Python code requesting a token every time it runs, maybe making use of edpToken.py?

I have tried to use edpToken.py to fetch a token but I get back "Invalid Application Credential." (I am not really sure about the value I should use for CLIENT_ID)

If by any change there is a documentation which I have missed I am happy to be redirected there.

rdp-apirefinitiv-data-platformtoken
icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Upvotes
Accepted
23.6k 61 15 21

Hi @jacopo.pecci, Please use this Quickstart to get everything setup and running properly. Once you have a valid application key (client ID), the access and refresh tokens are generated first, and then these are used in the ESG API call.

The token can not be generated from API docs or APP key generator. Periodically (5 minutes) the token will expire, at which point it will have to be renewed again.

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Upvotes
1 1 2 4

I did follow these instructions. I set USERNAME to may email address, PASSWORD to the password I use to login to the website and for CLIENT_ID I tried both the "App Display Name" and "Product ID" .

In both cases I get back:

Exception: Failed to get access token 401 - {"error":"invalid_client"  ,"error_description":"Invalid Application Credential." } 
icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Upvotes
23.6k 61 15 21

Please use the App Key for the Client ID. Ensure that EDP API has been checked before generating the app key:


ahs.png (42.0 KiB)
icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Upvotes
9.6k 10 7 7

Hello @jacopo.pecci

For more details about token, please refer to Authorization - All about tokens tutorial

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Upvotes
1 1 2 4

thank you, this in now clearer and working.

What is the life duration of the refresh_token? sometimes, I get the below errors and I solve it by making a token request using my personal password rather than the refresh_token


Exception: Failed to get access token 400 - {"error":"invalid_grant"   } 
Exception: Failed to get access token 400 - {"error":"access_denied"  ,"error_description":"iPlanet session has been expired." } 
Exception: Failed to get access token 400 - {"error":"access_denied"  ,"error_description":"Refresh token does not exist." } 
icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Upvotes
23.6k 61 15 21

Access tokens are short lived (about 5 minutes) and Refresh tokens are approximately 18 hours. Note that if you login from another application using same credentais (like API docs), your tokens will be invalidated immediately.

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.