charliewolf / pynder

:fire: Python client for tinder api
Other
638 stars 142 forks source link

Couldn't Authenticate #191

Open kkai4u opened 6 years ago

kkai4u commented 6 years ago

Hey, I was trying to login and wasn't able to authenticate myself. I went into the files and changed /api.py to print the result when it wasn't able to authenticate and I got the following error.

{u'error_no': 40304, u'code': 403, u'error': u'minimum client version enforced#MINIMUM_VERSION_REQUIRED'}

Anything I could do to fix this? @GreatOldOne cc'ing for help :D, thanks in advance

DylanVanAssche commented 6 years ago

I suggest you update the HTTP headers from Pynder, it seems that older clients are blocked from now on.

Gab0 commented 6 years ago

Same problem here. Tried with iOS headers, android headers, tried to update manually the version to current (8.6.0), 403 persists..

cjekel commented 6 years ago

Do you have the latest Pynder installed? Install from source -- not from pip (pip is outdated).

It works for me with the default HTTP headers in Pynder.

brenly commented 6 years ago

EDIT: Nevermind, reinstalled from source. Played around with it. It works now.

pietheinn commented 6 years ago

@brenly I face the same issue. How did you fix this exactly?

I assume by reinstalling from source you mean cloning the repository and running setup.py? I did that and ran the nosetest which gave me the OK.

I do use the HTTP headers directly as in the latest commit.

Furthermore, I generate my access_token by this script and verified that by checking in the chrome developer tools manually.

I do use a newly made Tinder account, but an older account with fb friends doesn't make any difference.

any thoughts?

mafa89 commented 6 years ago

same problem here

bitcoin4cashqc commented 6 years ago

Can someone post a working example that is not:

USER_AGENT = 'Tinder Android Version 6.4.1'

HEADERS = {
    "Content-Type": "application/json; charset=utf-8",
    "User-Agent": USER_AGENT,
    "Host": API_BASE,
    "os_version": "1935",
    "app-version": "371",
    "platform": "android",  # XXX with ios we run in an error
    "Accept-Encoding": "gzip"
}

EDIT:

I've found newer here : https://github.com/charliewolf/pynder/pull/25/commits/3ffc3848ed3ed013d5b25eea794e471b2c5d8075

Why all theses new commit not in master yet? :(

brenly commented 6 years ago

to fix the 401 error i found I was not using positional arguments in function header/ calls in pynder. My Facebook script was perfect but when it passed through pynder I was mangling the tokens. i hope this helps someone.

bitcoin4cashqc commented 6 years ago

Can you tell which part of the code / which positional arguments @brenly ? :)

brenly commented 6 years ago

@bitcoin4cashqc Try to branch from my code. There is a proof of concept on my github. Positional arguments occur in function calls. They are a specific type of way to pass variables (in this case, facebook tokens) to the authenticate function in pynder.

https://github.com/brenly/pynderscripting/blob/master/session_start.py

specifically line 40 and 41 i'm pretty sure the excess parentheses are mandatory, although that might just be how I write code left over from freshman year shrug

40 FBTOKEN = (get_access_token(email=auth_info[1], password=auth_info[2])) 41 session = pynder.Session(facebook_id=auth_info[0], facebook_token=FBTOKEN)

I haven't had a chance to check the code in over 6 months so I apologize if this code is now not working somehow.

brenly commented 6 years ago

@pietheinn Yes, i recloned the git. I typically actually just use my own personal facebook for testing / proof of concept since I'm very careful with cool down timers and the like. I can't speak for what would happen if you used a recently created disposable account.