我在python中使用2腿式oauth2有一个有效的GET。这是工作 GET代码:
进口:
import oauth2
import urllib #for url-encode
import urllib2 #for getting and receiving data from server
import time #Unix timestamp import oauth2
Run Code Online (Sandbox Code Playgroud)
电话:
resourceUrl = "https://test.mysite:8443/ess/scheduleapi/v1/people"
request = build_request(resourceUrl,'GET')
u = urllib2.urlopen(request.to_url())
people_data = u.read()
Run Code Online (Sandbox Code Playgroud)
生成请求的功能:
def build_request(url, method):
params = {
'oauth_version': "1.0",
'oauth_nonce': oauth2.generate_nonce(),
'oauth_timestamp': int(time.time())
}
consumer = oauth2.Consumer(key='mykey',secret='mysecret')
params['oauth_consumer_key'] = consumer.key
req = oauth2.Request(method=method, url=url, parameters=params)
signature_method = oauth2.SignatureMethod_HMAC_SHA1()
req.sign_request(signature_method, consumer, None)
return req
#end build_request
Run Code Online (Sandbox Code Playgroud)
因此,我认为我可以复制我认为需要的GET部分,并将其与我从某些urllib2文档中获得的语法结合起来,并编写出有效的POST。不是这样 请记住,我具有相同的导入和相同的build_request函数。这是断的 POST代码。请指教!
电话:
myurl = …Run Code Online (Sandbox Code Playgroud)