在Python应用程序中从Facebook获取数据的异步请求
我正在探索一点Python,并尝试手动实现一个Facebook Flask应用程序中的登录流。 我正在为OAuth部分使用Python rauth库。我对最后一部分有问题,因为据我所知,请求为访问令牌交换代码并检索用户数据的代码应该异步执行。不幸的是,我不知道如何正确地做到这一点。目前情况如下: 这是我希望在单独线程中运行的函数:在Python应用程序中从Facebook获取数据的异步请求,python,facebook,oauth,flask,oauth-2.0,Python,Facebook,Oauth,Flask,Oauth 2.0,我正在探索一点Python,并尝试手动实现一个Facebook Flask应用程序中的登录流。 我正在为OAuth部分使用Python rauth库。我对最后一部分有问题,因为据我所知,请求为访问令牌交换代码并检索用户数据的代码应该异步执行。不幸的是,我不知道如何正确地做到这一点。目前情况如下: 这是我希望在单独线程中运行的函数: def callback(self): if 'code' not in request.args: return None
def callback(self):
if 'code' not in request.args:
return None, None, None, None
oauth_session = self.service.get_auth_session(
data={'code': request.args['code'],
'grant_type': 'authorization_code',
'redirect_uri': self.get_callback_url()})
me = oauth_session.get('me?fields=id,email,first_name,last_name').json()
return (
me['id'],
me.get('email'),
me.get('first_name'),
me.get('last_name')
)
我在这里引用它:
...
...
oauth = FacebookSignIn()
thread = threading.Thread(target=oauth)
thread.start()
facebook_id, email, first_name, last_name = oauth.callback()
print "Waiting..."
thread.join()
print "Complete"
....
但我想这仍然没有改变什么。我可能要以某种方式检查一下是否完成了或是做了什么。你能告诉我怎么做吗