twikit icon indicating copy to clipboard operation
twikit copied to clipboard

Issue: Unable to Login to X.com API Using twikit Client - LoginFlow Not Accessible (Error 400)

Open aqbspl opened this issue 1 year ago • 7 comments

I am trying to authenticate to X.com (formerly Twitter) using the twikit Python client. While attempting to log in using my credentials or cookies, I consistently encounter the following error: status: 400, message: "{"errors":[{"code":366,"message":"flow name LoginFlow is currently not accessible"}]}" Steps to Reproduce Load or attempt to log in with credentials or cookies. Run the script using twikit's Client.login() function. Example Code Snippet

from twikit import Client
import asyncio
from configparser import ConfigParser

# Load credentials
config = ConfigParser()
config.read('config.ini')
username = config['X']['username']
email = config['X']['email']
password = config['X']['password']

client = Client(language='en-US')

async def main():
    try:
        await client.login(auth_info_1=username, auth_info_2=email, password=password)
        client.save_cookies('cookies.json')
        print("Login successful, cookies saved.")
    except Exception as e:
        print(f"Login failed: {e}")

# Run the async function
asyncio.run(main())

Error Message status: 400, message: "{"errors":[{"code":366,"message":"flow name LoginFlow is currently not accessible"}]}" Additional Information

  • Environment: Ubuntu 22 LTS, Python 3.10

  • Library version: twikit vX.X.X (latest version)

  • X.com API Access: Standard user account (no developer API access) Tried solutions:

  • Using valid credentials

Expected Behavior Successful login and subsequent authentication using either credentials or cookies.

Actual Behavior The login process fails with a 400 error, and the LoginFlow is reported as "not accessible".

Request for Help

  • Is this a known issue related to changes in X.com's authentication flow?
  • Any workarounds or solutions for this issue would be greatly appreciated.

aqbspl avatar Oct 04 '24 20:10 aqbspl

if os.path.exists("cookies.json"):
        client.load_cookies("cookies.json")
    else:
        await client.login(
            auth_info_1=AUTH_INFO_1, auth_info_2=AUTH_INFO_2, password=PASSWORD
        )
        client.save_cookies("cookies.json")
    load the cookie

PhatStraw avatar Oct 05 '24 04:10 PhatStraw

if os.path.exists("cookies.json"):
        client.load_cookies("cookies.json")
    else:
        await client.login(
            auth_info_1=AUTH_INFO_1, auth_info_2=AUTH_INFO_2, password=PASSWORD
        )
        client.save_cookies("cookies.json")
    load the cookie

Thanks for the suggestion!

The issue I'm facing occurs during the login process itself. When I try to log in using credentials, I receive the following error: status: 400, message: "{"errors":[{"code":366,"message":"flow name LoginFlow is currently not accessible"}]}"

Since the login isn't successful, the client.save_cookies() step doesn't execute, so I can't generate or use the cookies.json file. That’s why even if I use a check for the existence of cookies.json, it doesn't resolve the underlying issue.

Do you have any suggestions on how to handle this or bypass the login issue?

aqbspl avatar Oct 05 '24 14:10 aqbspl

did you solve the issue? @aqbspl

mohanad-hafez avatar Oct 05 '24 16:10 mohanad-hafez

did you solve the issue? @aqbspl

Not yet, @mohanad-hafez I am getting the same error

aqbspl avatar Oct 05 '24 17:10 aqbspl

Same issue here

jwaitzel avatar Oct 05 '24 21:10 jwaitzel

was anyone able to solve this? or did you find other alternatives?

mohanad-hafez avatar Oct 06 '24 22:10 mohanad-hafez

I'm trying it today, and I have the same issue.. any idea?

zecarreira avatar Oct 10 '24 16:10 zecarreira

use this repo: https://github.com/mdmrcglu/twikit

worked for me, just install with: pip3 install --upgrade git+https://github.com/mdmrcglu/twikit.git

theres a pull request to merge this into the main branch

tayva-f avatar Oct 12 '24 01:10 tayva-f

use this repo: https://github.com/mdmrcglu/twikit

worked for me, just install with: pip3 install --upgrade git+https://github.com/mdmrcglu/twikit.git

theres a pull request to merge this into the main branch

This solution produces the following exception for me on utils.py:103:

    return self.response['subtasks'][0]['subtask_id']
IndexError: list index out of range

dvilelaf avatar Oct 12 '24 07:10 dvilelaf

I installed with: pip3 install --upgrade git+https://github.com/mdmrcglu/twikit.git

but same error occurs.

return self.response['subtasks'][0]['subtask_id']
IndexError: list index out of range

IK-O avatar Oct 16 '24 07:10 IK-O

Is there no solution to this problem?

szsyzx avatar Oct 21 '24 04:10 szsyzx

use this repo: https://github.com/mdmrcglu/twikit

worked for me, just install with: pip3 install --upgrade git+https://github.com/mdmrcglu/twikit.git

theres a pull request to merge this into the main branch

I use this and i got no error status: 400, message: "{"errors":[{"code":366,"message":"flow name LoginFlow is currently not accessible"}]}

but I got wrong password. I Have confidence my password is correct.

An error occurred during login: status: 400, message: "{"errors":[{"code":399,"message":"Wrong password!"}]}"

I try to catch the error :

except Exception as e:
        print(f"An error occurred during login: {e}")
        print(f"Email: {email}")
        print(f"Username: {username}")
        print(f"Password: {password}")

the result is same as the config.ini file i used but it said wrong password

groupyid avatar Oct 22 '24 14:10 groupyid

use this repo: https://github.com/mdmrcglu/twikit worked for me, just install with: pip3 install --upgrade git+https://github.com/mdmrcglu/twikit.git theres a pull request to merge this into the main branch

This solution produces the following exception for me on utils.py:103:

    return self.response['subtasks'][0]['subtask_id']
IndexError: list index out of range

hey @dvilelaf did you solve that problem ?

desktop69 avatar Oct 27 '24 12:10 desktop69

use this repo: https://github.com/mdmrcglu/twikit worked for me, just install with: pip3 install --upgrade git+https://github.com/mdmrcglu/twikit.git theres a pull request to merge this into the main branch

This solution produces the following exception for me on utils.py:103:

    return self.response['subtasks'][0]['subtask_id']
IndexError: list index out of range

hey @dvilelaf did you solve that problem ?

same here, anyone resolved it ?

theordev avatar Nov 07 '24 13:11 theordev

Not really, both repos show issues for me, but not always. Sometimes it just works. For now, i'm logging via cookies. Looking forward for the fix PRs to be merged.

dvilelaf avatar Nov 07 '24 17:11 dvilelaf

How do you log via cookies? Is there a tutorial somewhere which I missed? @dvilelaf

brownepres avatar Nov 08 '24 15:11 brownepres

How do you log via cookies? Is there a tutorial somewhere which I missed? @dvilelaf

https://github.com/d60/twikit/issues/227#issuecomment-2394925822

You will need to extract the cookies from your browser

dvilelaf avatar Nov 08 '24 15:11 dvilelaf

Oh, okay. Haven't thought about that solution yet. Thanks!

brownepres avatar Nov 08 '24 15:11 brownepres

fixed in v2.2.0

d60 avatar Dec 05 '24 07:12 d60