ToxicFrog / bltool

A tool for command line interaction with backloggery.com
Apache License 2.0
78 stars 9 forks source link

Can't get Xbox games #21

Open wtfatty opened 8 years ago

wtfatty commented 8 years ago

I've created a new xboxapi account and changed the api key, just to avoid the rate limit problem, but I got stuck as well :\ I try to run the bat as follow:

java -jar bltool.jar --from xboxlive --to text --xbox-name MYNAME --output xbox_games.txt

and get the following error message:

Got Xuid {"xuid":"xguid_code_here"} for gamertag MYNAME.
Found 0 Xbox 360 and 0 Xbox One games.
Couldn't find any games for Xbox Live Gamer MYNAME -- are you sure you specified the right --xbox-name?

I can correctly see the output from the xboxapi website, so i think there's a problem in the data checking and extracting part of the code.

ToxicFrog commented 8 years ago

XBox support was added by @hyphz, and I don't know much about it. I don't really have any way of testing it, since I don't have an XBL account. They might be able to help, though.

hyphz commented 8 years ago

Interesting. I put in a pull request with a new key.

In your output, does it literally say {"xuid":"......."} ? Because it should be just the Xuid. If it is as you say, it means xboxapi has changed the xuid call to return JSON (it previously just returned a raw string) and the JSON parser needs to run over the result.

Offhand it'd be something like..

(let [xuidbody (xuidreply :body)
       xuidjson (json/read-str xuidbody)
       xuid (get xuidjson "xuid")] ...

There's probably a more elegant way of doing that in Clojure, but I was kind of learning it as I went..

wtfatty commented 8 years ago

Yes, the output is

Got Xuid {"xuid":"......"} for gamertag .....

If it can help you, the xboxapi string is something like that:

{"titles":[{"lastUnlock":"...","titleId":...,"serviceConfigId":"...","titleType":"DGame","platform":"Durango","name":"...","earnedAchievements":...,"currentGamerscore":...,"maxGamerscore":...},
...,
...],"pagingInfo":{"continuationToken":null,"totalRecords":...}}
dkuester commented 8 years ago

Got this issue as well.

bltool --from xboxlive --xbox-name "Peter vonFrost" --to backloggery --bl-name xxxxx --bl-pass xxxxx

Got Xuid {"success":false,"error_code":401,"error_message":"No API Key provided or invalid API Key"} for gamertag Peter vonFrost . Found 0 Xbox 360 and 0 Xbox One games.

If tried to use my girlfriends gamertag too, just to make sure that the black-space wasn't the issue.

https://xboxapi.com/v2/xuid/Peter%20vonFrost correctly returns my gamertag ID. https://xboxapi.com/v2/2533274795588464/xboxonegames correctly returns all my played XBox One games.

dkuester commented 8 years ago

By the way, xboxonegames also returns cheevos for Windows 10 and Windows Phone games :D

hyphz commented 8 years ago

Basically it seems what's happened is that Microsoft broke the phantom Xbox Live account I was using by adding two factor authentication, so XboxApi can't log in anymore. I'm trying to sort it with them.

hyphz commented 8 years ago

Ok, XboxApi.com knows how to deal with two-factor checks now, so it should be fixable.

hyphz commented 8 years ago

... Except that now the Apache HttpClient can't speak HTTPS properly to xboxapi. :(

binarymelon commented 6 years ago

Was this ever resolved?