Я создаю веб-приложение на python, используя флеш-фрейм, чтобы запросить токен доступа из Facebook с помощью SDK supplied in their site.python: GraphAPIError: недопустимый токен доступа OAuth
Токен доступа возвращается, и он правильно установлен в объекте GraphAPI. Тем не менее, она возвращается следующее сообщение об ошибке:
GraphAPIError: Invalid OAuth access token.
Если я запрашиваю граф API из моего локального окружения питона, используя один и тот же маркер доступа, он работает просто отлично. Кажется, что проблема возникает при выполнении на веб-сервере.
См фрагмент кода ниже:
@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')
Кто-нибудь сталкивался это раньше, и/или может дать некоторое представление?
может звучать как глупый вопрос, но вы уверены, что маркер доступа являются одна и та же? Если вы разрабатываете локально и в производстве, вы должны использовать разные приложения. – phwd
@phwd: Да. Они - одно и то же приложение, используя одни и те же ключи. И мне удалось получить токен доступа и вставить его в локальный код. – Cassio