Facebook Login - Feature Unavailable

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?

Back to Top