不清楚身份验证后进行API调用?

2024-04-24 00:43:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在研究如何使用API,更具体地说是Egnyte的API。在

从他们的文档中,我必须首先获得一个oauth2令牌,我能够成功地获得它。在

以下是他们的文件:

不过,我不知道以后该怎么办。我正在尝试使用他们的用户管理API,我想调用:

https://{Egnyte域}。egnyte.com/pubapi/v2/users在

但是,如何使用他们的代币请求.get调用他们的api? 下面是我的python代码,我使用的是请求模块(http://docs.python-requests.org/en/latest/):

import requests

api_key = 'MY_API_KEY'
username = 'myUserName'
password = 'myPassword'

payload = {
    'grant_type': 'password',
    'client_id': api_key,
     'username': username,
    'password': password
}

token = requests.post("https://{Egnyte Domain}.egnyte.com/puboauth/token", params = payload)

print r.text

我得到的答复是:

^{pr2}$

谢谢!在


Tags: keyhttpscomtokenapidocsusernamepassword
2条回答

啊,有人给我看了。在

不得不对脚本做一些小的调整:

r = requests.post("https://{Egnyte Domain}.egnyte.com/puboauth/token", params=payload)
token = r.json()['access_token']

users = requests.get(url, headers={'Authorization': 'Bearer %s' % token})

您需要在请求的授权头中使用令牌。最好的办法是创建一个持久的连接。在

r = requests.post("https://{Egnyte Domain}.egnyte.com/puboauth/token", params=payload)
if r.ok:
    access_token = r.json()['access_token']

session = requests.Session()
session.headers['Authorization'] = "Bearer %s" % access_token
users = session.get('https://{Egnyte Domain}.egnyte.com/pubapi/v2/users')

或者

^{pr2}$

相关问题 更多 >