from django.http import HttpResponse, HttpResponseRedirect
import logging
from alipay.aop.api.AlipayClientConfig import AlipayClientConfig
from alipay.aop.api.DefaultAlipayClient import DefaultAlipayClient
# 换取授权令牌
from alipay.aop.api.request.AlipaySystemOauthTokenRequest import AlipaySystemOauthTokenRequest
def get_alipay_client_auth(typestr='', auth_token=''):
# 实例化客户端
logging.basicConfig(
level=logging.INFO,
format='%(asctime)s %(levelname)s %(message)s',
filemode='a',
)
logger = logging.getLogger('')
"""
设置配置,包括支付宝网关地址、app_id、应用私钥、支付宝公钥等,其他配置值可以查看AlipayClientConfig的定义。
"""
alipay_client_config = AlipayClientConfig()
alipay_client_config.server_url = '支付宝网关地址'
alipay_client_config.app_id = '应用的appid'
""" 签名算法类型 """
alipay_client_config._sign_type = 'RSA2'
alipay_client_config.app_private_key = '应用私钥' #请填写开发者私钥去头去尾去回车,单行字符串
alipay_client_config.alipay_public_key = '支付宝公钥' # 请填写支付宝公钥,单行字符串
"""
得到客户端对象。
注意,一个alipay_client_config对象对应一个DefaultAlipayClient,定义DefaultAlipayClient对象后,alipay_client_config不得修改,如果想使用不同的配置,请定义不同的DefaultAlipayClient。
logger参数用于打印日志,不传则不打印,建议传递。
"""
client = DefaultAlipayClient(alipay_client_config, logger)
return client
def auth_code_get_uid(request):
'''
获取授权令牌
'''
client = get_alipay_client_auth()
code = auth_code #获取到的支付宝授权码
_request = AlipaySystemOauthTokenRequest() #创建请求
_request.grant_type = "authorization_code" #按照接口参数填写对应值
_request.code = code
# 执行API调用
response = client.execute(_request) #发起请求,返回响应
print(response)
python 如何调用支付宝alipay.system.oauth.token(换取授权访问令牌)接口
于 2022-09-22 11:20:03 首次发布