如标题中所述,我的帖子不起作用。有关详细信息,请查看以下代码:
在回调中调用的线程
def callback(request):
response_data = {}
code = request.GET.get('code', None)
if code:
response_data['code']= code
thr = threading.Thread(target=request_token_Api, args=(request, code, response_data))
thr.setDaemon(True)
thr.start()
value =thr.is_alive()
print("Thread is Alive:",value)
thr.join()
return JsonResponse(response_data)
我调用(request_token_Api
)的方法进行Oauth2令牌请求调用但是当我用thred.is_alive()
检查时,我在返回时得到False它应该是是的,我不知道为什么。我尝试在thread.run()
之后添加thread.start
,但我收到AttributeError
消息。
request_token_Api METHOD
def request_token_Api(request, code, response_data):
if request.method =='POST':
url = "https://oauth2.api_token_request.com"
params = {
'grant_type': 'authorization_code',
'client_id': API_KEY,
'client_secret': SECRET_KEY,
'code': code,
'redirect_uri': URI
}
response = requests.get(url, params=params, verify=True)
reponse= response.json()
return reponse
答案 0 :(得分:1)
我怀疑request_token_Api
在您有机会检查之前就已退出,因此该线程已经完成。在request_token_Api
中,如果方法为" POST",则只执行某些操作,但在callback
中您正在查看GET
的{{1}}属性并进行制作确定你有价值。所以可能这两件事永远不会都是request
你应该改变何时调用True
的逻辑或者当你在那里时想要保持的逻辑。但是,如果您有一个有效的request_token_Api
代码,则可能无法使用GET
方法到达那里。