我试图用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-xget--header“Accept:application/zip”--header“Authorization:Bearer b2ba6c7a35d667564ffa2765aec6ea07”-o/gtfs。拉链“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)
所以我被困在那里...
有什么帮助吗?
谢啦
这里的访问方式是承载令牌。你被提供了一个令牌,当你提出请求时,你会保密并回报,这就是它的全部。就像这样提出你的要求:
response = requests.get("https://opendata-api.stib-mivb.be/Files/1.0/Gtfs",
headers = {'Authorization': 'Bearer {}'.format(access_token)})
他们返回的数据是一个大小合适的zip文件;我建议按照本答案中的示例将响应流式传输到文件。大概是这样的:
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)