コード例 #1
0
ファイル: oauthwrapper.py プロジェクト: camvine/nabaztagdemo
def make_api_request(access_token, url, data=None):
    
    # break down the url, as we'll need to later
    request_type, host, port, path = _split_server_parts(url)
    
    parameters = {
        'oauth_consumer_key': settings.CODA_KEY,
        'oauth_token': access_token.key,
        'oauth_signature_method': 'HMAC-SHA1',
        'oauth_timestamp': str(int(time.time())),
        'oauth_nonce': os.urandom(10).encode('hex'),
        'oauth_version': '1.0',
        'format': 'json',
        }
        
    # data should be a dict of things
    if data:
        for k in data.keys():
            parameters[k] = data[k]
        
    newurl = '%s://%s:%d%s' % (request_type, host, port, path)
    #newurl = '%s://%s%s' % (request_type, host, port, path)
        
    oauth_request = OAuthRequest.from_token_and_callback(access_token,  
        http_method="POST",
        http_url=newurl, 
        parameters=parameters)
    signature_method = OAuthSignatureMethod_HMAC_SHA1()
    consumer = OAuthConsumer(settings.CODA_KEY, settings.CODA_SECRET)
    access_token_t = OAuthToken(access_token.key, access_token.secret)
    signature = signature_method.build_signature(oauth_request, consumer,
        access_token_t)
    
    parameters['oauth_signature'] = signature
    
    if request_type == 'http':
        conn = httplib.HTTPConnection(host, port)
    else:        
        conn = httplib.HTTPSConnection(host, port)
    conn.putrequest('POST', path)

    data = ''
    for key in parameters.keys():
        data += '%s=%s&' % (key, urllib.quote(parameters[key]))
    data = data[:-1]

    print data

    conn.putheader('content-length', str(len(data)))
    conn.endheaders()
    conn.send(data)
    conn.send('\n\r\n\r')

    resp = conn.getresponse()

    data = resp.read()
        
    print data
        
    return simplejson.loads(data)    
コード例 #2
0
ファイル: JtvClient.py プロジェクト: lumlateops/gatekeeper
    def make_request_token_and_authorization_url(self, callback_url):
        response = self.get("/oauth/request_token", prefix="").read()
        print response
        token = OAuthToken.from_string(response)

        request = OAuthRequest.from_token_and_callback(token=token, callback=callback_url, http_url='http://%s/oauth/authorize' % self.authority)
        return [token, request.to_url()]
コード例 #3
0
ファイル: api.py プロジェクト: wayly/cnapi
    def get_auth_url(self):
        """ """
        request = OAuthRequest.from_consumer_and_token(
            self.consumer,
            http_url = self.request_token_url,
            callback = self.callback)

        request.sign_request(OAuthSignatureMethod_HMAC_SHA1(), self.consumer, None)
        resp = urllib2.urlopen(urllib2.Request( request.to_url()))
        token = resp.read()
        request_token = OAuthToken.from_string(token)
        self.request_token = request_token

        request = OAuthRequest.from_token_and_callback(
            token=request_token, http_url=self.authenticate_url,
            callback = self.callback
            )
        return request.to_url()
コード例 #4
0
ファイル: __init__.py プロジェクト: roymax/py-sinaly
 def get_authorization_url(self, request_token):
     url = API_HOME + '/oauth/authorize'     
     request =  OAuthRequest.from_token_and_callback(request_token,
                                                     http_url=url)
     return request.to_url()
コード例 #5
0
ファイル: JtvClient.py プロジェクト: spulec/buriedtv
 def make_request_token_and_authorization_url(self, callback_url):
     response = self.get("/oauth/request_token", prefix="").read()
     token = OAuthToken.from_string(response)
     request = OAuthRequest.from_token_and_callback(token=token, callback=callback_url, http_url='http://%s/oauth/authorize' % self.authority)
     return [token, request.to_url()]