正在寻找将JSON API调用集成到Python程序中的帮助。
我希望将以下API集成到Python中。py程序,以允许调用它并打印响应。
API指导说明必须生成承载令牌以允许调用API,我已经成功地完成了这一点。但是,我不确定在pythonapi请求中包含此令牌作为承载令牌身份验证的语法。
我可以使用包含令牌的cURL成功完成上述请求。我尝试过“urllib”和“requests”路由,但都没有用。
完整API详情:IBMX-Force Exchange API文档-IP声誉
令牌必须按照以下格式放置在授权标头中:
授权:持票人[Token_Value]
import urllib2
import json
def get_auth_token():
"""
get an auth token
"""
req=urllib2.Request("https://xforce-api.mybluemix.net/auth/anonymousToken")
response=urllib2.urlopen(req)
html=response.read()
json_obj=json.loads(html)
token_string=json_obj["token"].encode("ascii","ignore")
return token_string
def get_response_json_object(url, auth_token):
"""
returns json object with info
"""
auth_token=get_auth_token()
req=urllib2.Request(url, None, {"Authorization": "Bearer %s" %auth_token})
response=urllib2.urlopen(req)
html=response.read()
json_obj=json.loads(html)
return json_obj
如果您使用的是请求
模块,另一种选择是编写一个auth类,如“新形式的身份验证”中所述:
import requests
class BearerAuth(requests.auth.AuthBase):
def __init__(self, token):
self.token = token
def __call__(self, r):
r.headers["authorization"] = "Bearer " + self.token
return r
然后你能发送这样的请求吗
response = requests.get('https://www.example.com/', auth=BearerAuth('3pVzwec1Gs1m'))
它允许您像使用基本auth一样使用相同的auth
参数,并且在某些情况下可能会对您有所帮助。
这只是意味着它希望将其作为标头数据中的键
import requests
endpoint = ".../api/ip"
data = {"ip": "1.1.2.3"}
headers = {"Authorization": "Bearer MYREALLYLONGTOKENIGOT"}
print(requests.post(endpoint, data=data, headers=headers).json())
我正在尝试调用我已被指示的API: 这需要一个授权头:承载访问令牌。 我有承载访问令牌,并尝试通过邮递员,并通过C#使用WebRequest,没有任何效果。 在Postman中,我将方法设置为GET,将授权设置为No Auth,在Headers选项卡上,我尝试添加一个标题,如下所示: 标头:“授权” 值:“我的令牌” 我也尝试过 标题:“Bearer”值:“mytoken” 也 标头:“授权” 值
我在用阿斯匹林。网络应用程序 我很困惑。我已经使用JSON网络令牌。我明白这一点。已知经典的 JSON 网络令牌。标头、有效负载、签名、自包含。客户端可以查看索赔数据。 但是不记名令牌是什么呢?不记名令牌也是独立的。我们可以通过不记名令牌访问令牌的数据。客户端看不到索赔数据。 那我们为什么不使用不记名令牌呢?不记名代币不是标准吗?有没有像 JWT 持有者令牌这样的东西? 以及如何在 MVC Web
我在调用rest api时尝试使用承载令牌时遇到一些问题。 我尝试了两种方法,结果相同: 我在azure门户中创建了一个应用注册,并授予它使用devops api进行用户模拟的权限。 我在中创建了一个应用程序https://app.vsaex.visualstudio.com/并授予it项目/团队管理权限。 对于我的代码,我使用了这个(当我使用PAT进行身份验证时有效) 我使用以下示例获取令牌:h
我正在Laravel应用程序中使用twitter API。在我的应用程序中,当用户插入url时,我想获得用户名和个人资料图片。我找了很多,但没找到。对于用户信息,我必须让用户登录到twitter,并与我的应用程序连接以获取访问令牌。我只想使用应用程序授权,这样用户就不需要登录twitter。我发现,通过这个搜索API可以搜索带有承载令牌的推文 有什么API可以让我使用URL获取用户屏幕名称吗? 我
嘿,我想弄清楚如何为REST API POST调用使用OAuth授权令牌。 文件规定: 如果发生此错误,您的应用程序可以通过重新运行相应的流来请求新的访问令牌。 目前我的VB. net代码是这样的: 我不断收到一个错误:远程服务器返回一个错误:(401)未经授权。 我在下面的帖子中发现了这一点: Yammer API要求OAuth数据位于标头中。如果您查看他们获取数据的示例,您将看到请求如下所示。