Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Python应用程序中从Facebook获取数据的异步请求_Python_Facebook_Oauth_Flask_Oauth 2.0 - Fatal编程技术网

在Python应用程序中从Facebook获取数据的异步请求

在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

我正在探索一点Python,并尝试手动实现一个Facebook Flask应用程序中的登录流。 我正在为OAuth部分使用Python rauth库。我对最后一部分有问题,因为据我所知,请求为访问令牌交换代码并检索用户数据的代码应该异步执行。不幸的是,我不知道如何正确地做到这一点。目前情况如下:

这是我希望在单独线程中运行的函数:

 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"
....
但我想这仍然没有改变什么。我可能要以某种方式检查一下是否完成了或是做了什么。你能告诉我怎么做吗