d60 / twikit

Twitter API Scraper | Without an API key | Twitter Internal API | Free | Twitter scraper | Twitter Bot
https://twikit.readthedocs.io/en/latest/twikit.html
MIT License
1.35k stars 161 forks source link

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

Open aqbspl opened 2 weeks ago

aqbspl commented 2 weeks ago

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

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

PhatStraw commented 2 weeks ago
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
aqbspl commented 2 weeks ago
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?

mohanad-hafez commented 2 weeks ago

did you solve the issue? @aqbspl

aqbspl commented 2 weeks ago

did you solve the issue? @aqbspl

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

jwaitzel commented 2 weeks ago

Same issue here

mohanad-hafez commented 2 weeks ago

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

zecarreira commented 2 weeks ago

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

Strookyy commented 1 week ago

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

dvilelaf commented 1 week ago

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
IK-O commented 1 week ago

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
szsyzx commented 3 days ago

Is there no solution to this problem?

eatpwsyy commented 2 days ago

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