问题描述
感谢阅读 - 我的问题很简单:
- 我做错了什么?
- 我错过了什么?
- 我是否需要额外的访问权限才能使用报告引擎?
我似乎无法使用简单的 Python 客户端从我的 pp 帐户获取余额或交易数据,尽管似乎正确使用了已记录的 API。
我有:
- 企业帐户
- 开发门户访问
- 沙盒和 Live API 使用的有效凭证
我的 py 客户端封装了几个 API 调用并成功完成了以下操作:
- 使用开发门户凭据获取 API 令牌
- 使用 API 令牌向余额和交易 API 资源发出有效的 HTTP 请求
- API 响应表示 200 OK
然而,除了 OAuth 令牌请求,所有的响应都说 Empty XML data
伪示例代码
# -- pp_auth_header is a global,contains Auth Bearer token
def get_balances():
print("get_balances...")
headers = pp_auth_header
endpoint = "/v1/reporting/balances"
query = "?currency_code=USD&as_of_time=2021-02-22T00:00:00-0700"
r = requests.get(pp_report_eng_url + endpoint + query,headers=pp_auth_header)
print("get_balances - status: {}".format(r.status_code))
if r.status_code == 200:
print("get_balances - r.text: {}".format(r.text))
# -- output of the above is
get_balances...
get_balances - url: https://api-m.sandBox.paypal.com/v1/reporting/balances?currency_code=USD&as_of_time=2021-02-22T00:00:00-0700
get_balances - status: 200
get_balances - r.text: Empty XML data
解决方法
生成一个 acess_token,然后从命令行使用 curl 进行测试,as documented:
curl -v -X GET
https://api-m.sandbox.paypal.com/v1/reporting/balances?currency_code=USD&as_of_time=2016-10-15T06:07:00-0700
\
-H "Content-Type: application/json" \
-H "Authorization: Bearer Access-Token"
确保传递那里描述的标头,包括“Content-Type: application/json”。
PayPal REST API 不返回 XML。
如果这不起作用,请发布 curl -v 命令的输出以及 oauth2 令牌请求返回的范围。使用这些详细信息更新您的问题。