2016-03-31 14 views
0

Facebookのフレンドリストを取得するスクリプトをPythonで作成しようとしています。データを取得するには、アクセストークンを取得する必要があります。私は同じを達成するためにrequests_oauthlibパッケージを使用しています。私はWebアプリケーションを作成していないので、私はローカルWebサーバーを使用していません(リダイレクトURLはありません)。私は、リソース所有者のパスワード資格情報の認可タイプを使用することを選択します。私はエラーが発生しています。リソース所有者のパスワード資格情報のグラント・タイプのredirect_uriエラーがありません

: - 私はトレースバックを経て、受信したアクセストークンは、このであることを認識

のアクセストークンのパラメータが欠落して「私はスクリプトを実行すると

from requests_oauthlib import OAuth2Session 
from oauthlib.oauth2 import LegacyApplicationClient 

FACEBOOK_APP_ID = '**********' 
FACEBOOK_APP_SECRET = '*********' 
username = 'Aman Mittal' 
password = '****' 
token_url = "https://graph.facebook.com/oauth/access_token" 

oauth = OAuth2Session(client=LegacyApplicationClient(client_id=FACEBOOK_APP_ID)) 
oauth_access_token = oauth.fetch_token(token_url, client_secret=FACEBOOK_APP_SECRET,username=username, password=password, client_id=FACEBOOK_APP_ID) 

は、それがエラーを示しています。

この

は私のコードです
{"error":{"message":"Missing redirect_uri parameter.","type":"OAuthException","code":191,"fbtrace_id":"CUSmQKT8YGb"}} 

まず、レガシーアプリケーションクライアント(リソース所有者のパスワード資格情報の認可タイプ)を使用している間はわかりませんが、なぜ私はリダイレクトURIが必要ですか?

私はweb.pyや他の何かを使ってWebサーバを起動することを選択します。 Facebookに登録するにはどうすればいいですか?または私はする必要がありますか?

PS。私はPythonとスタックオーバーフローの両方に新しいです。私が愚かな間違いをした場合、詳細を説明し、私を許してください。

+0

できません。ユーザーは対話的にログインする必要があります。 – WizKid

+0

私はすでにあなたのアカウントにログインしています。 私たちはリダイレクトURIを使用して、エンドユーザからクライアントへの許可を得た後、クライアントに指示します。しかし、私はすでにパスワードを持っているときに認証する必要はありません。私は単にアクセストークンを求めることができます。それではなぜインタラクティブに? –

+0

リダイレクトURLが必要です。ブラウザでは、ユーザーはFacebookにリダイレクトされ、設定したURLにリダイレクトされます。それはインタラクティブな部分です。 – WizKid

答えて

0

Facebookは、OAuth 2.0リソースオーナーパスワード資格認定タイプをサポートしていません。

+0

Webサーバーなしでやり遂げることはできません..ハァッ? –

+0

そのコメントについてはわからない:ブラウザなしでは、方法がわからない –

関連する問題