2011-08-02 11 views
2

私は、DjangoでOAuthの2足のプロバイダを書く方法についてのチュートリアル/例/説明を探しています。Djangoで2足のOAuthプロバイダを書く

それはOAuthのプロバイダについてのドキュメントを見つけるのは難しい、と二足歩行システムについても、難しい...

答えて

1

「2本足でのアクセストークンまたはアクセストークンシークレットのない普通のOAuthリクエストです。それでおしまい。依然としてクライアントクレデンシャル(識別子とシークレット)を使用しますが、アクセストークンパラメータに空の文字列を使用します。使用するサーバー・ライブラリーによっては、要求時にoauth_tokenパラメーターを省略できます。

5

が、私はこれを理解しようとしている約3日間を過ごし、この作業でそれを使用することができ、誰を提供したかったです私は最終的に私が照会しようとしていたサービスから得ました。それは非常に簡単で巻き上げました。 P.S.誰かがoauth 1.0を使用しているからです。ではなく、は、oauth2ライブラリを使用できないことを意味します。

auth2を取得するには、「pip install oauth2」と入力します。スクリプトで

、あなたが必要とする:

import oauth2 
import time 
import urllib2 


def build_request(url, method='GET'): 
    params = {            
     'oauth_version': "1.0", 
     'oauth_nonce': oauth2.generate_nonce(), 
     'oauth_timestamp': int(time.time()) 
    } 
    consumer = oauth2.Consumer(key='python_test',secret='your_secret') 
    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 

関数を呼び出し、出力を表示するには、次のようになります。

request = build_request('http://demo.echo360.com/ess/scheduleapi/v1/terms') 
u = urllib2.urlopen(request.to_url()) 
print u.readlines() 
+0

おかしいが、それは正確に私の他の質問の一つとして同じソースコードです: http://stackoverflow.com/questions/6924569/doing-a-file-upload-with-python-oauth2#comment9204818_69245また、oauth2ライブラリはOAuth 1.0aのみに対応しています。彼らの図書館の非常に混乱している名前... –