I am trying to implement Facebook login for my application. It was working well in development mode, but when I try to switch to live mode I see this message:

Feature Unavailable

Facebook Login is currently unavailable for this app, since we are updating additional details for this app. Please try again later.

here is the exact error I get

I do not have any required actions in developer console.

I have searched for an answer, I have already set advanced access to email and public profile, and I got advanced access to other permissions as well. Business verification is complete and I have verified my Business as a tech provider as well.

Here is the code that handles the Facebook login (I am using Django framework):

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) 

What am I missing so I can do this in live mode?

Tag:python, django, facebook, facebook-graph-api, facebook-login

Add a new comment.