2011-07-09 12 views
2

私はここで見つける指示に従ってています:FacebookのグラフAPIサーバ側に接続しようとするとFacebookのOAuthの問題

http://developers.facebook.com/docs/authentication/

を。私はジャンゴを使用していますが、基本的に、ここで見られるのと同じコードをコピー:ここ

https://github.com/facebook/python-sdk/blob/master/examples/oauth/facebookoauth.py

は私のコードは

def get_code(request): 
    c = RequestContext(request) 
    verification_code = request.GET.get('code',None) 
    args = dict(client_id=FACEBOOK_APP_ID, redirect_uri=REDIRECT) 
    if verification_code: 
     args["client_secret"] = FACEBOOK_SECRET_KEY 
     args["code"] = verification_code 
     response = cgi.parse_qs(urllib.urlopen(
         "https://graph.facebook.com/oauth/access_token?" + 
         urllib.urlencode(args)).read()) 
     print "------------------------" 
     print response 
     #access_token = response["access_token"][-1] 
     #print access_token 
     print "------------------------" 
    else: 
     http.HttpResponseRedirect("https://graph.facebook.com/oauth/authorize?" + urllib.urlencode(args)) 

あるとにかく、私は正常に認証コードを取得することができるが、私がしようとすると、私のaccess_tokenはを得るためにそれを使用して、私は次の応答を参照してください。

{ 
    "error": { 
     "type": "OAuthException", 
     "message": "Error validating verification code." 
    } 
} 

私は何が起こっているか見当もつかないが、私は両方トンの指示に従っています彼はFacebookのサイト、そして彼らが提供しているコードであり、これはPythonやブラウザでは動作しません。興味深いことに、同じ資格情報でクライアント側のフローを使用する場合、私はハッシュタグ経由でaccess_tokenを取得することができますが、それは私には役に立ちません。

また、私はローカルで@http://127.0.0.1:8000をテストしており、それを私のFacebookブック設定で正しく設定しています。

おかげ

UPDATE:

私はそれが両方redirect_urs iが

^/ログインfacebook /認証/

を使用していた 同一である必要はあり判明し、それを修正

^facebook/auth/token/

はすぐに私は両方の

ログインfacebook /認証/ +ログインfacebook /認証/

を使用して、それは私はあなたがあなたの問題への解決策を見つけた参照

+0

確実に回答を回答に分割し、それを承認済みとしてマークします。あなたが殴った問題は他の人に噛まれています。私は保証します。 – tephyr

答えて

0

を働きました。また、PythonでOAuthプロバイダを使用すると、あなたの人生を楽にするライブラリを紹介したかったので、rauthと呼ばれています。特に、役に立つかもしれないFlaskを使ってFacebookのGraph APIに接続しているan exampleがあります。

これは既に機能していますが、次回はPythonでOAuthプロバイダを使用する必要があると考えるようになります。