我对编码还很陌生,但我正在尝试开发一个从暴雪api中提取一些数据的机器人。我的机器人运行良好,但每次访问令牌更改时,我都必须手动更改json数据的url。我知道令牌每24小时就会更改一次,但我无法想象开发人员每天都要不断地去控制台,用更新的访问令牌调出新的url。我一直在浏览暴雪OAuth文档,发现有人为python发布了以下代码:
import requests
import json
from requests.auth import HTTPBasicAuth
def create_access_token(client_id, client_secret, region = 'us'):
url = "https://%s.battle.net/oauth/token" % region
body = {"grant_type": 'client_credentials'}
auth = HTTPBasicAuth(client_id, client_secret)
response = requests.post(url, data=body, auth=auth)
return response.json()
create_access_token()
但是当我把我的客户id和我的客户秘密传递给这个时,我不会得到任何信息。任何帮助都会很棒。谢谢
您可以使用这样的在线CURL到Python请求可解析工具,从文档CURL中获得正确的请求格式。客户端凭据流的示例:
卷曲
curl -u {client_id}:{client_secret} -d grant_type=client_credentials https://us.battle.net/oauth/token
python
import requests
def create_access_token(client_id, client_secret, region = 'us'):
data = { 'grant_type': 'client_credentials' }
response = requests.post('https://%s.battle.net/oauth/token' % region, data=data, auth=(client_id, client_secret))
return response.json()
response = create_access_token(YOUR_CLIENT_ID, YOUR_CLIENT_SECRET)
print(response)