这是我当前使用 oauth2 在 python 中进行 POST 的代码。对于我的一生,我无法克服 401 错误,我认为这可能与我的标题有关。我只是在打印时将标题粘贴在这里,因为我使用另一个例程通过 myheaders=req.to_header() 生成它们。这应该向您展示那里的真实情况。什么看起来不对劲?请帮忙!
def post_or_put_me(myaction,myxml,myurl):
CONSUMER_KEY = 'my_admin_access'
CONSUMER_SECRET = 'xxxxxxxx'
consumer = oauth2.Consumer(key=CONSUMER_KEY, secret=CONSUMER_SECRET)
token = oauth2.Token(key=CONSUMER_KEY, secret=CONSUMER_SECRET)
client = oauth2.Client(consumer, token)
myheaders = {'Authorization': 'OAuth realm="",oauth_body_hash="xxxxxxxx",oauth_nonce="84691521", oauth_timestamp="1351179163",oauth_consumer_key="my_admin_access",oauth_signature_method="HMAC-SHA1", oauth_version="1.0", oauth_signature="xxxxxxxxxx"'}
xml_string = ElementTree.tostring(myxml)
data = urllib.urlencode({'xml': xml_string})
resp, content = client.request(
myurl,
method=myaction,
body=data,
headers = myheaders,
)