2011-12-19 6 views
1

私はWebアプリケーション用のSSOセットアップを構築しています。私は知られているユーザーにログインし、https://www.googleapis.com/oauth2/v1/userinfoで新しい未知のユーザーを作成することができます。Google Oauth2 access_tokenの使い方は?

私は戻って、このような応答を得る:

{ 
    "access_token":"1/fFAGcxxxxxxxxxxxxxxxxxxx", 
    "expires_in":3920, 
    "token_type":"Bearer", 
    "refresh_token":"1/xEoDL4iW3cxlI7yDbSRFYxxxxxxxxxxxxxxxxxxx" 
} 

だから私は、ユーザーを取得:

url = 'https://www.googleapis.com/oauth2/v1/userinfo?access_token=%s' % a['access_token'] 
req = urllib2.Request(url) 
opener = urllib2.build_opener(urllib2.HTTPSHandler(debuglevel=0)) 
req = opener.open(req) 
reply = req.read() 
req.close() 
a = json.loads(reply) 

私に、ユーザーの情報と 私の最初の範囲を経由して自分のGmailにアクセスする許可を与えます。しかし、このユーザーを取得する方法は、ユーザーの GmailへのアクセスをIMAP経由で許可しますか?

http://code.google.com/apis/gmail/oauth/protocol.html

は私が取得していますaccess_tokenは、そのへのアクセスを許可していますか?私は今どこに 'access_token'を使うべきかわかりません。

答えて

3

(あなたはまだこの答えが必要ですが、念のかどうかわからない...)

ほとんどのGoogle APIが今のOAuth2を使用して認証することができますが、GoogleのIMAPクライアントのみOAuthの1をサポートしていますこれはありませんが必要ですアクセストークンだけでなく、トークン「秘密」も含みます。あなたはOAuth2レスポンスでそれを取得しません(あなたはそれが必要ないので)、それはあなたにかなり役に立たないことを意味します。

あなたはです。は、OAuth 1です。 OAuth2のすべての鐘や笛を持っているわけではありませんが、これはまだGoogleによってサポートされています。それを使用する方法の詳細は、あなたが言及したリンクにあります(今はhttps://developers.google.com/google-apps/gmail/oauth_protocolにリダイレクトされています)。 は、python-oauth2(名前にもかかわらずOAuth 1を使用)などの既知のライブラリを使用することをお勧めします。

+0

(この後も、間違った質問にリンクしてしまったことがわかりました!)また、[この質問](http://stackoverflow.com/q/5193707/920242)も参照してください。 python-oauth2を使用します。 – karaken12

+1

Google IMAPサーバーはOAuth 2.0をサポートしています。公式に正式な認証方法です。ライブラリの詳細と詳細については、[Google Developers Pages](https://developers.google.com/google-apps/gmail/xoauth2_libraries)をご覧ください。 – karaken12

関連する問題