【发布时间】:2014-04-26 01:31:23
【问题描述】:
我正在尝试使用 requests 和 requests-oauthlib 库在 Python 3 中编写自己的 Cryptsy API 包装器。我对 API 调用和 Python 都很陌生。就目前而言,我收到此错误:
{'error': 'Unable to Authorize Request - Check Your Post Data', 'success': '0'}
这不足为奇,因为我很难找到有关使用这些库调用/签署经过身份验证的 API 请求的文档。我不太确定从哪里开始。
这是我的代码的 sn-p:
import time
import requests
from requests-oauthlib import OAuth1Session
class Cryptsy:
def __init__(self, APIKey, Secret):
self.APIKey = APIKey
self.Secret = Secret
self.privateBaseURL = 'https://api.cryptsy.com/api'
def private_api_query(self, method, payload={}):
url = self.privateBaseURL
session = OAuth1Session(self.APIKey, client_secret=self.Secret)
payload['method'] = method
payload['nonce'] = int(time.time())
response = session.post(url, data=payload)
js = response.json()
return js
def getMarkets(self):
return self.private_api_query('getmarkets')
如您所见,我隐约知道 nonce,但我不确定在使用这些库时是否有必要。我知道请求需要签名,但不确定如何让这些库以我需要的方式执行此操作。
当然,我总是可以尝试使用 urllib,但自从切换到 Python 3 后我就遇到了麻烦,而且我喜欢 requests 库的(假定的)简单性。
关于 Cryptsy 的 API 的更多信息可以在这里找到:https://www.cryptsy.com/pages/api
任何帮助将不胜感激。
【问题讨论】:
-
查看 Cryptsy API 文档似乎表明 Cryptsy 根本不使用 OAuth。我在他们的文档中看不到它的引用。
标签: python api oauth python-requests