Closed JKetelaar closed 8 years ago
There is no club for ps4 in Your account_info, try platform=ps3
Try login with the PS4 and it says?
@oczkers I tried that too. I'm pretty sure there is a club in my platform (ps4). Been playing FUT since like 2014 and downloaded FUT 16 since day one on my PS4.
Do you got any other idea?
Maybe this helps. When doing the same process in Java I get the following error
WARNING: Invalid cookie header: "Set-Cookie: ". Cookie name may not be empty
In other words, there's a cookie trying to be set that's empty
Same results:
{"debug":"","string":"","code":"403","reason":""}
Figured the issue:
rc.json()['userAccountInfo']['personas'][0]
But my JSON has two userAccountInfo objects. So this would have to be achieved by looping thorugh both userAccountInfo arrays and see which one has what.
Most probably something is wrong here https://github.com/oczkers/fut/blob/master/fut/core.py#L274-L285 (sku, clientversion, platform or even authcode) but we have to see valid playstation communication with server, otherwise it's blind guess.
@JKetelaar Does it work after You change persona, ps3 or ps4?
I seem to experience the exact same error after @oczkers update (fix mutliple personas #146).
How I log in: fut = fut.Core('email', 'password', 'secret', platform='ps3', code='**', emulate='and', debug=True)
Error: File "C:\Python27\lib\site-packages\fut-0.1.2-py2.7.egg\fut\core.py", line 303, in login self.r.headers['X-UT-SID'] = self.sid = rc['sid'] KeyError: 'sid'
Log: 2015-10-14 03:53:37,851 [DEBUG] [root] login: {"debug":"","string":"","code":"403","reason":""} (line 289)
I am on Ps4, try'd changing platform to both Ps3 as Ps4, won't make any difference.
I have 2 accounts registered: Account #1 --> Fifa 15. Account #2 --> Fifa 15 & Fifa 16
@Motherfeef
Could You show me personas from UserAccountInfo?
The issue relies on: rc.json()['userAccountInfo']['personas'][0]
This simply gets the first out of the array, while there might be more than one.
@JKetelaar First one is latest used so it should work but there is missmatch in platform strings (for example xbox360 for nucleusPlatform but 360 in personas)
@oczkers
Sure, so I have 2 persona's and printing rc returns the following array.
1) When using --> "rc = [i for i in rc.json()['userAccountInfo']['personas'] if i['userClubList'][0]['platform'] == platform][0]":
{u'personaId': xxxxxxx1, u'userClubList': [{u'established': xxxxxxxx, u'badgeId': xxxxxxxx, u'assetId': xxxxxxxx, u'lastAccessTime': xxxxxxxx, u'platform': u'ps3', u'teamId': xxxxxxxx, u'clubAbbr': u'00000000', u'year': u'2015', u'skuAccessList': {u'FFA15PS4': ****, u'FFA15PS3': xxxxxxxx}, u'divisionOnline': 4, u'clubName': u'xxxxxxxx'}], u'personaName': u'xxxxxxxx', u'trial': False, u'returningUser': 0, u'userState': None}
2) When using --> "rc = rc.json()['userAccountInfo']['personas'][0]":
It returns the exact same result as above.
3) When using --> "rc = rc.json()['userAccountInfo']['personas'][1]":
{u'personaId': xxxxxxx4, u'userClubList': [{u'established': xxxxxxxx, u'badgeId': xxxxxxxx, u'assetId': xxxxxxxx, u'lastAccessTime': xxxxxxxx, u'platform': u'ps3', u'teamId': xxxxxxxx, u'clubAbbr': u'xxxxxxxx', u'year': u'2015', u'skuAccessList': {u'FFA15PS4': xxxxxxxx, u'FFA15PS3': xxxxxxxx}, u'divisionOnline': 8, u'clubName': u'xxxxxxxx'}, {u'established': xxxxxxxx, u'badgeId': xxxxxxxx, u'assetId': xxxxxxxx, u'lastAccessTime': xxxxxxxx, u'platform': u'ps3', u'teamId': xxxxxxxx, u'clubAbbr': u'xxxxxxxx', u'year': u'2016', u'skuAccessList': {u'FFA16PS4': xxxxxxxx}, u'divisionOnline': 4, u'clubName': u'xxxxxxxx'}, {u'established': xxxxxxxx, u'badgeId': xxxxxxxx, u'assetId': xxxxxxxx, u'lastAccessTime': xxxxxxxx, u'platform': u'ps3', u'teamId': xxxxxxxx, u'clubAbbr': u'xxxxxxxx', u'year': u'2015', u'skuAccessList': None, u'divisionOnline': 0, u'clubName': u'xxxxxxxx'}], u'personaName': u'xxxxxxxx', u'trial': False, u'returningUser': 1, u'userState': None}
As you can tell from 'skuAccessList' my "Fifa16" account is in the second persona.
Please let me know if you require more information. Not sure if this is what you mean.
@oczkers
{'priorityLevel': 4, 'locale': 'en-GB', 'nucleusPersonaId': xxxxxxxx, 'sku': 'FUT16AND', 'clientVersion': 11, 'isReadOnly': False, 'nucleusPersonaDisplayName': u'xxxxxxxx', 'identification': {'AuthCode': ''}, 'gameSku': 'FFA16PS4', 'method': 'authcode', 'nucleusPersonaPlatform': 'ps3'}
Thanks for info, now we're itering over personas until game_sku is found in specific club. Let me if this works for all of You (two+ clubs on same platform might be a problem).
@oczkers
Edit Never mind! I believe it works now.
Make sure to use platform=PS4 when on PS4.
I supose it's already fixed
Hello, For some reason I cannot login to the EA servers.
The error:
The debug log:
The code to login:
Any clue what this means?