foooius
foooius

Reputation: 1

Where to use the API authorisation key in this API?

I am working with the following api:

https://www.football-data.org/documentation/api

I have gotten myself an api key and I tried to make the example request:

https://api.football-data.org/v2/teams/86/matches?status=SCHEDULED

of course I get the error

{"message":"The resource you are looking for is restricted. Please pass a valid API token and check your subscription for permission.","errorCode":403}

So the question is, is how do I give the website my api key to allow me to make these requests?

Looking at the python snippet they create a dictionary with the the api key as a value and pass that to the request. How can I make this in my browser?

I tried

https://api.football-data.org/v2/teams/86/matches?status=SCHEDULED&%22X-Auth-Token%22=%22MYAPIKEY%22

and it did not work.

Upvotes: 0

Views: 1156

Answers (3)

Yaro
Yaro

Reputation: 11

If you're using postman like @Jakob Löhnertz suggested.

  1. You want to first enter the api

enter image description here

  1. Then go over to the Headers tab, put in "X-Auth-Token" as your Key and your unique API token as your value. Hit send and you should be all good.

enter image description here

Finally, be sure to go through here to see the list of available competitions for a free account.

Upvotes: 0

Pleastry
Pleastry

Reputation: 434

You might have figured it out by now, but I am dropping this for anyone else looking on how to do it in Python:

import requests
from pprint import pprint


token = "" # Write the api key emailed to you here

headers = {
    'X-Auth-Token': token,
}

r = requests.get('http://api.football-data.org/v2/competitions/EC/teams', headers=headers).json()

pprint(r, indent=2, depth=1, compact=True)

Upvotes: 0

Jakob Löhnertz
Jakob Löhnertz

Reputation: 11

You are passing your API key as a query parameter, which is not in line with the API specification. The API needs the key as an HTTP header. You cannot easily do that in a web browser. I'd suggest getting something like Postman or to do it on the command-line:

curl -i -H "X-Auth-Token: MYAPIKEY" "https://api.football-data.org/v2/teams/86/matches?status=SCHEDULED"

Upvotes: 1

Related Questions