如何使用美国农业部API。

3

我正在尝试按照指导从USDA的市场新闻API中使用Python获取数据,https://mymarketnews.ams.usda.gov/mymarketnews-api/authentication,但是我遇到了401错误。

import requests
url = 'https://marsapi.ams.usda.gov/services/v1.2/reports'
headers={'x-api-key':'mars_test_343343'}

resp = requests.get(url, headers= headers)
print(resp.status_code) 

我无法让它正常工作,文档上说“在您的软件中,使用API密钥作为基本认证用户名的值。您不需要提供密码。”我对API调用非常陌生,如何将我的用户名作为api-key提供给服务器以便进行身份验证?
注意:我在代码中使用的是我的实际api-key而不是“mars_test_343343”。
1个回答

2

基本身份验证在使用requests库时有些不同。您可以尝试像这样做:

from requests.auth import HTTPBasicAuth
resp = requests.get(url, auth=HTTPBasicAuth('mars_test_343343', None)

请注意,由于“不需要提供密码”的含糊性,None值可能需要改为空字符串''

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接