Funktion nicht verfügbar
Facebook-Login ist für diese App derzeit nicht verfügbar, da wir zusätzliche Details für diese App aktualisieren. Bitte versuchen Sie es später noch einmal.
hier ist der genaue Fehler, den ich erhalte
Ich habe keine erforderlichen Aktionen in Entwicklerkonsole.
Ich habe nach einer Antwort gesucht, ich habe bereits erweiterten Zugriff auf E-Mail und öffentliches Profil eingerichtet und ich habe auch erweiterten Zugriff auf andere Berechtigungen erhalten. Die Unternehmensüberprüfung ist abgeschlossen und ich habe auch mein Unternehmen als Technologieanbieter bestätigt.
Hier ist der Code, der die Facebook-Anmeldung verwaltet (ich verwende das Django-Framework):
Code: Select all
def facebook_login(request):
facebook_auth_url = "https://www.facebook.com/v21.0/dialog/oauth"
if "test" in request.get_full_path():
redirect_uri = request.build_absolute_uri('/test/home/facebook_login/facebook_callback/')
redirect_uri = "http://localhost:8000/home/facebook_login/facebook_callback/"
else:
redirect_uri = request.build_absolute_uri('/home/facebook_login/facebook_callback/')
scopes = "pages_show_list,business_management,read_insights,ads_read,pages_read_engagement,ads_management"
state = generate_state()
request.session['oauth_state'] = state
params = {
'client_id': settings.META_APP_ID,
'redirect_uri': redirect_uri,
'scope': scopes,
'response_type': 'code',
'state': state,
}
auth_url = f"{facebook_auth_url}?{urlencode(params)}"
return JsonResponse({'authorization_url': auth_url})
def facebook_callback(request):
error = request.GET.get('error')
if error == 'access_denied':
prefix = 'test/' if os.getenv('PROD') == 'blue' else ''
cancel_redirect_url = (
"http://localhost/" + prefix + "#/home/connections"
if os.getenv('DEVELOPMENT') == 'True'
else "https://platform.webalyze.ai/" + prefix + "#/home/connections"
)
return redirect(cancel_redirect_url)
state = request.GET.get('state')
if state != request.session.pop('oauth_state', None):
return JsonResponse({'error': 'Invalid state parameter'}, status=400)
code = request.GET.get('code')
if not code:
return JsonResponse({'error': 'No code provided'}, status=400)
token_exchange_url = "https://graph.facebook.com/v21.0/oauth/access_token"
redirect_uri = request.build_absolute_uri(request.path)
print('REDIRECT (facebook_callback):', redirect_uri)
params = {
'client_id': settings.META_APP_ID,
'redirect_uri': redirect_uri,
'client_secret': settings.META_APP_SECRET,
'code': code,
}
response = requests.get(token_exchange_url, params=params)
data = response.json()
if 'access_token' in data:
access_token = data['access_token']
saveMetaTokenToDatabase(request.user, access_token)
prefix = 'test/' if os.getenv('PROD') == 'blue' else ''
if os.getenv('DEVELOPMENT') == 'True':
return redirect("http://localhost/" + prefix + "#/home/connections")
else:
return redirect("https://platform.webalyze.ai/" + prefix +"#/home/connections")
else:
return JsonResponse({'error': 'Failed to obtain access token'}, status=400)