我正在尝试使用Python访问API,但到目前为止我所达到的最好的是401响应(我未经过身份验证)。
这是API:
https://opendata-api.stib-mivb.be/Files/1.0/Gtfs
这是我用来获得401响应的代码:
import requests
response = requests.get("https://opendata-api.stib-mivb.be/Files/1.0/Gtfs")
print (response.status_code)
我试图理解他们提供的代码示例,但无法得到它:
curl -k -X GET --header“Accept:application / zip”--header“授权:Bearer b2ba6c7a35d667564ffa2765aec6ea07”-o ./gtfs.zip“https://opendata-api.stib-mivb.be/Files/1.0/Gtfs”
如何识别消费者密钥,消费者秘密,我收到的访问令牌(他们不提供访问令牌秘密)使用Tweepy你也应该使用访问令牌秘密...例如:
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
所以我被卡住了......
任何帮助?
谢谢
答案 0 :(得分:0)
此处的访问方法为bearer token。您将获得一个令人保密的令牌,并在您提出请求时给予回复,这就是它的全部内容。只需提出您的请求:
response = requests.get("https://opendata-api.stib-mivb.be/Files/1.0/Gtfs",
headers = {'Authorization': 'Bearer {}'.format(access_token)})
他们提供的数据是一个大小合适的zip文件;我建议按照this answer中的示例来传输对文件的响应。像这样:
response = requests.get("https://opendata-api.stib-mivb.be/Files/1.0/Gtfs",
headers = {'Authorization': 'Bearer {}'.format(access_token)},
stream = True)
with open('gtfs.zip', 'w') as out:
for chunk in response.iter_content(chunk_size=4096):
out.write(chunk)