Flask フレームワークを使用して Python で Web アプリを作成し、サイトで提供されている SDKを使用して Facebook からアクセス トークンを要求しています。
アクセス トークンが返され、GraphAPI オブジェクトに正しく設定されます。ただし、次のエラーが返されます。
GraphAPIError: OAuth アクセス トークンが無効です。
同じアクセス トークンを使用して、ローカルの Python 環境からグラフ API をクエリすると、問題なく動作します。問題は、Web サーバーで実行する場合にあるようです。
以下のコード スニペットを参照してください。
@app.route('/facebook')
def fb():
if 'token' in session:
graph = facebook.GraphAPI(session['token'])
return graph.get_object("me")
@app.route('/facebook/login')
def fblogin():
code = request.args.get('code','')
if(code == ""):
args = dict(client_id=app_id, redirect_uri=request.base_url)
#args = dict(client_id=app_id, redirect_uri=request.url_root + 'facebook')
return redirect(
"https://graph.facebook.com/oauth/authorize?" +
urllib.urlencode(args))
else:
token = facebook.get_access_token_from_code(code, request.base_url, app_id, app_secret)
session['token'] = [token.itervalues().next()]
return redirect (request.url_root + 'facebook')
誰かが以前にこれに直面したことがありますか、および/またはいくつかの洞察を提供できますか?