问题
Is there a way to get a user's achievements list from Xbox without dealing with screen scraping etc.? How do sites like http://www.trueachievements.com do it? (they're definitely not screen scraping as they do not have my Live ID credentials...)
I know there's the Xbox LIVE Community Developer Program (XCDP) that provides some API but they do not provide achievements information as far as I can tell (links below)
http://duncanmackenzie.net/Blog/put-up-a-rest-api-for-xbox-gamertag-data
http://file-pasta.com/file/XML_Feeds.pdf
回答1:
If you want this information you can check out my new site https://xboxapi.com.
Again if your profile is public then you can see friends, games and achievements. This has taken me over a year (on and off) to code and is now in public beta. To date it has served nearly 2,000 requests and growing. I am still working on optimising this script and it should only get better in time.
I currently have an API request limit setup for 120 requests per hour per IP.
Lets hope there are no major updates to xbox.com any time soon.
回答2:
It says at the bottom of the TrueAchievements website that they are a member of the Xbox LIVE Community Developer Program. That leads me to believe that the XCDP does give information about achievements. Duncan Mackenzie's API for xbox worked for me for a little while, but then his web service seemed to go offline. Duncan also says that his web service will not be returning sadly. I can't get ahold of him to ask for release of his source code. I'm currently looking for another solution in retrieving the data. Unless I can get official access with XCDP, it looks like I'll have to do screen scraping. The screen scraping approach is not going to be pretty though. I'll let you know if I get any more information.
回答3:
The current XCDP API does not give you any individual achievement information. At the moment the only way to get achievements is by page scraping and as of a couple months ago Microsoft has removed their non-JS log in form for xbox.com making it very difficult to log in. TA has found a way to get around this but he's trying to monopolize the scene and isn't willing to help others on this topic.
Even though TA does not have your LIVE credentials if your xbox.com page is public and if you give them your gamertag anyone can get your information by going to http://live.xbox.com/en-US/GameCenter?compareTo=GAMERTAGHERE
With the change the Microsoft has done they've also modified achievement icons. If you're looking at a friends profile and if you don't have the game or have unlocked the achievement the icon will be monochromatic even if it's unlocked by that person.
来源:https://stackoverflow.com/questions/3693873/get-a-users-xbox-achievements-list