使用python或Django的Facebook API Auth 2
我正在尝试使用FacebookOAuth2API获取用户令牌,但在重定向url调用时遇到此错误 位于/data/FacebookAuth的不安全传输错误/ (传输不安全)OAuth 2必须使用https。 我已经运行了ngrok&https设置,但我不明白为什么它会给我这个错误 这是我在django中获取此令牌的代码使用python或Django的Facebook API Auth 2,python,django,facebook,facebook-graph-api,python-requests,Python,Django,Facebook,Facebook Graph Api,Python Requests,我正在尝试使用FacebookOAuth2API获取用户令牌,但在重定向url调用时遇到此错误 位于/data/FacebookAuth的不安全传输错误/ (传输不安全)OAuth 2必须使用https。 我已经运行了ngrok&https设置,但我不明白为什么它会给我这个错误 这是我在django中获取此令牌的代码 #Facebook App Credentials client_id = 'xxxx' client_secret = 'xxxxx' # OAuth endpoints gi
#Facebook App Credentials
client_id = 'xxxx'
client_secret = 'xxxxx'
# OAuth endpoints given in the Facebook API documentation>
authorization_base_url = 'https://www.facebook.com/dialog/oauth'
token_url = 'https://graph.facebook.com/oauth/access_token'
redirect_uri = 'https://ab207c1f.ngrok.io/data/FacebookAuthRedirect'
facebook = OAuth2Session(client_id, redirect_uri=redirect_uri)
facebook = facebook_compliance_fix(facebook)
#Getting Facebook Authentication
def FacebookAuth(request):
authorization_url, state = facebook.authorization_url(authorization_base_url)
redirect(authorization_url)
#Getting Facebook Authentication Redirect
def FacebookAuthRedirect(request):
redirect_response = request.GET.get('code', '')
token = facebook.fetch_token(token_url, client_secret=client_secret,
authorization_response=redirect_response)
print(token)
return HttpResponse('ibrahim')
挖了一点以后。我找到了一个适合我的解决方案 这是因为
authorization\u code=request.build\u absolute\u uri()
。我试着打印它,它包含了“http”,而不是“https”。我使用以下代码将字符串替换为https。
redirect\u response=redirect\u response.replace(“http://”、“https://”)