2. 4. 2011

PSN API - historie trofejí

Po té co jsem psal článek o trofejích, jsem se o ně začal čím dál tím více zajímat. A to nejen ve hrách, ale třeba i o vizitky. V podstatě nejsem plně spokojen s žádnou službou poskytující vizitky. Také jsem si přál zjistit historii všech mých trofejí. A proto jsem se začal zajímat, jestli bych si neuměl něco takového naprogramovat sám. Netrvalo dlouho a narazil jsem na stránky PSN API.

Na těchto stránkách se nachází projekt, který poskytuje rozhraní pro získání informací o profilech, hrách a trofejích na PSN. Zdá se, že to hlavní co poskytuje je knihovna pro .NET Framework v placené verzi. Krom toho je k dispozici free verze, která je ale osekaná a prakticky nepoužitelná. Navíc tento server poskytuje také online API a neomezený přístup přes několik standardních síťových rozhraní. Konkrétně přes SOAP 1.1, SOAP 1.2, HTTP GET a HTTP POST.

Moc nerozumím této politice, protože pokud by někdo chtěl mít např. server na poskytování PSN vizitek naprogramovaný v PHP, tak je pro něj mnohem výhodnější rozhraní HTTP POST, než knihovny pro .NET. Přitom to první je zdarma, to druhé za peníze. A navíc to zdarma je spojeno s trvalými provozními náklady na server a konektivitu. No opravdu tomu nerozumím, ale jsem tomu rád, pro mě je to výhodné, jen se obávám o budoucnost tohoto projektu.

Nikde jsem nenašel uvedeny podmínky používání, takže je otázka, jak dlouho tato online služba bude k dispozici. Podle této stránky se jedná jen o testovací provoz, který je k dispozici od září 2010. Uvidíme, jak to dlouho vydrží. Kdyby někdo znal odkaz na informace, jak přistupovat přímo k PSN, budu mu vděčný, když mi to napíše do diskuze pod článkem.

Já jsem zatím online API využil k tomu, abych získal historii všech svých trofejí. Tedy  chronologicky seřazený seznam, který v podstatě mapuje mojí krátkou herní kariéru na PS3. Udělal jsem si na to jednoduchý prográmek v Pythonu (no jednoduchý, má kolem 200 řádků, ale to proto, že se snažím udělat v podstatě obecné univerzální API pro Python, je tam zavedeno i kešování stažených dat a podobně). Musím se pochlubit, že pracuji lépe s časem než samotná PS3, která u trofejí získaných v letním čase ukazuje o hodinu méně. Výsledek ve formě textového výstupu mého snažení je zde:

10/06/18 22:49           Killzone 2  BRONZE: Killing Spree - Kill 5 Helghast in 15 seconds
10/06/18 23:13             inFamous  BRONZE: Good Eats
10/06/18 23:25             inFamous  BRONZE: Stunt Man
10/06/18 23:28             inFamous  BRONZE: Good Riot
10/06/28 21:27             inFamous  BRONZE: True Potential
10/06/29 20:41      flOw trophy set  BRONZE: Adventure
10/07/02 16:53                Trine  BRONZE: Astral Introduction
10/07/16 19:44       Gravity Crash™  BRONZE: Obsolete Technology
10/07/17 07:53        Lead and Gold  BRONZE: First Blood
10/07/17 09:08        Lead and Gold  BRONZE: Beginner´s Luck
10/07/17 09:54        Lead and Gold  BRONZE: A Doc on Holiday
10/07/17 21:19        Lead and Gold  BRONZE: Lewis and Clark
10/07/19 23:41           DeathSpank  BRONZE: Can't Kill Me...
10/07/20 00:12           DeathSpank  BRONZE: Destroyer of Chickens
10/07/25 18:12                Trine  BRONZE: I Did It My Way
10/07/25 20:35                Trine  BRONZE: Survivor
10/07/28 21:22                Trine  BRONZE: Whackwhackwhack
10/07/28 21:23                Trine  SILVER: Whoops!
10/08/07 18:12        Demon's Souls  BRONZE: Phalanx' Trophy
10/08/08 21:21        Demon's Souls  BRONZE: Tower Knight's Trophy
10/08/11 17:41        Demon's Souls  BRONZE: Armor Spider's Trophy
10/09/06 16:31            FALLOUT 3  BRONZE: Vault 101 Citizenship Award
10/09/06 17:00            FALLOUT 3  BRONZE: The G.O.A.T. Whisperer
10/09/06 17:42            FALLOUT 3  BRONZE: Escape!
10/09/07 23:29           Killzone 2  BRONZE: Corinth Ribbon
10/09/14 19:52  Red Dead Redemption  BRONZE: That Government Boy
10/09/15 18:30  Red Dead Redemption  BRONZE: Strange Things are Afoot
10/09/15 22:45  Red Dead Redemption  BRONZE: Clemency Pays
10/09/18 02:08  Red Dead Redemption  BRONZE: Land of Opportunity
10/09/19 15:41          HEAVY RAIN™  BRONZE: Private Eye
10/09/19 15:46          HEAVY RAIN™  BRONZE: White Knight
10/09/19 16:13          HEAVY RAIN™  BRONZE: FBI Investigator
10/09/19 18:35          HEAVY RAIN™  BRONZE: VIP
10/09/19 18:35          HEAVY RAIN™  BRONZE: Lucky Locker
10/09/19 18:52          HEAVY RAIN™  BRONZE: Self Control
10/09/19 20:48          HEAVY RAIN™  BRONZE: Cat & Mouse
10/09/19 21:12          HEAVY RAIN™  BRONZE: Tough Guy
10/09/19 21:40          HEAVY RAIN™  BRONZE: Electrified
10/09/19 21:56          HEAVY RAIN™  BRONZE: Good Cop
10/09/19 22:19          HEAVY RAIN™  BRONZE: Fugitive
10/09/19 22:31          HEAVY RAIN™  BRONZE: Ludwig Von
10/09/19 22:53          HEAVY RAIN™  BRONZE: I'm not a Killer!
10/09/19 23:02          HEAVY RAIN™  BRONZE: Smart Girl
10/09/19 23:17          HEAVY RAIN™  BRONZE: Goodbye Mad Jack
10/09/19 23:39          HEAVY RAIN™  BRONZE: The Chef
10/09/19 23:58          HEAVY RAIN™  BRONZE: Pride Saved
10/09/20 00:26          HEAVY RAIN™  BRONZE: Escape Master
10/09/20 00:31          HEAVY RAIN™  BRONZE: Swimming Instructor
10/09/20 00:38          HEAVY RAIN™  BRONZE: Invincible Scott
10/09/20 00:38          HEAVY RAIN™  BRONZE: Kind Hearted
10/09/20 01:03          HEAVY RAIN™  BRONZE: Sacrifice
10/09/20 18:22          HEAVY RAIN™  BRONZE: Clever Dad
10/09/20 18:36          HEAVY RAIN™  SILVER: Saved the Kid
10/09/20 18:36          HEAVY RAIN™  BRONZE: Simple Mind
10/09/20 18:36          HEAVY RAIN™  SILVER: Four Heroes
10/09/20 18:36          HEAVY RAIN™  BRONZE: HEAVY RAIN™ Hero
10/09/20 21:07  Call of Juarez: BiB  BRONZE: None Shall Hide
10/09/20 21:32  Call of Juarez: BiB  SILVER: Untouchable
10/09/20 21:40  Call of Juarez: BiB  BRONZE: Yankee Cow
10/09/20 21:59  Call of Juarez: BiB  BRONZE: Frag Steal
10/09/21 20:14  Call of Juarez: BiB  BRONZE: Act I
10/09/22 18:37      flOw trophy set  SILVER: Swift
10/09/30 17:35     Dante's Inferno™  BRONZE: Slaughter at Acre
10/09/30 17:55     Dante's Inferno™  BRONZE: Warming Up
10/09/30 18:00     Dante's Inferno™  BRONZE: Holy Warrior
10/09/30 18:13     Dante's Inferno™  BRONZE: Abandon All Hope
10/09/30 18:16     Dante's Inferno™  BRONZE: Relic Hunter
10/10/01 16:52    Sports Champions™  BRONZE: I Hit Someone
10/10/02 11:09  Red Dead Redemption  BRONZE: Red Dead Rockstar
10/10/03 12:30    Sports Champions™  BRONZE: I Have Heard Of Bocce
10/10/03 12:38    Sports Champions™  BRONZE: Sweep!
10/10/03 13:35    Sports Champions™  BRONZE: A Star Is Born
10/10/03 17:42    Sports Champions™  BRONZE: I Can Aim
10/10/03 18:12    Sports Champions™  BRONZE: Follow The Bouncing Ball
10/10/03 18:34    Sports Champions™  BRONZE: Speedy Edge Spinster
10/10/04 20:06    Sports Champions™  BRONZE: I Can Do Better
10/10/05 16:47    Sports Champions™  BRONZE: Man Or Machine?
10/10/05 17:03    Sports Champions™  BRONZE: I Can Throw A Disc
10/10/06 18:40    Sports Champions™  BRONZE: King Of The Ring
10/10/09 15:12             TerRover  BRONZE: A Bit of the Game is Complete
10/10/09 20:20             TerRover  BRONZE: Another Bit is Complete
10/10/10 08:42    Sports Champions™  BRONZE: Shining Star
10/10/12 17:13    Sports Champions™  BRONZE: Look Ma, 2 Hands!
10/10/14 23:46     Dante's Inferno™  BRONZE: Burning Eyes
10/10/14 23:47     Dante's Inferno™  BRONZE: Precious
10/10/14 23:58     Dante's Inferno™  BRONZE: Bad Nanny
10/10/15 00:17     Dante's Inferno™  BRONZE: Sentence the Judge
10/10/15 22:32     Dante's Inferno™  SILVER: Forbidden Love
10/10/15 22:53     Dante's Inferno™  BRONZE: Lovers Torn Asunder
10/10/15 23:40     Dante's Inferno™  BRONZE: The Great Worm
10/10/17 02:55     Dante's Inferno™  BRONZE: Demon Slayer
10/10/20 20:29             TerRover  BRONZE: Terrover School Graduate
10/11/19 16:38          My Aquarium  BRONZE: My Aquarium Novice
10/11/20 19:57          My Aquarium  BRONZE: Predator Novice
10/11/20 20:00          My Aquarium  SILVER: Critical Limits Master
10/11/20 20:28          My Aquarium  SILVER: Aquarium Master
10/11/30 20:52          Dead Space™  BRONZE: Marksman
10/11/30 21:36          Dead Space™  BRONZE: Dead on Arrival
10/11/30 21:49          Dead Space™  BRONZE: Tool Time
10/12/02 16:49          My Aquarium  BRONZE: Carnivore Novice
10/12/02 22:19          Dead Space™  BRONZE: Lab Rat
10/12/03 10:40          Dead Space™  BRONZE: All Systems Go
10/12/03 10:56          Dead Space™  BRONZE: Brute Force
10/12/03 21:28          Dead Space™  BRONZE: Merchant
10/12/10 12:02          My Aquarium  BRONZE: Predator Master
10/12/22 15:59    Sports Champions™  BRONZE: Rally Tally
10/12/29 21:00     Lara Croft (GoL)  BRONZE: Overachiever
10/12/29 21:18     Lara Croft (GoL)  SILVER: Seeing Red
10/12/29 21:18     Lara Croft (GoL)  SILVER: Breadwinner
11/01/05 16:02     Tomb Raider: Und  BRONZE: Prologue
11/01/05 20:00     Tomb Raider: Und  BRONZE: Treasure Collector
11/01/19 23:20   Modern Combat: Dom  BRONZE: Welcome to the Family
11/01/22 21:57         Borderlands™  BRONZE: Paid in Fyrestone
11/01/22 22:36         Borderlands™  BRONZE: Discovered Skag Gully
11/01/22 22:56         Borderlands™  BRONZE: Ding! Newbie
11/01/23 16:45         Borderlands™  BRONZE: Careful, He Bites
11/01/23 17:27         Borderlands™  BRONZE: Ding! Novice
11/01/23 19:58         Borderlands™  BRONZE: Pyro
11/01/23 20:34         Borderlands™  BRONZE: Master Exploder
11/01/23 21:02         Borderlands™  BRONZE: Rootinest, Tootinest, Shootinest
11/01/23 21:35         Borderlands™  BRONZE: Get A Little Blood on the Tires
11/01/24 20:36         Borderlands™  BRONZE: You call this archaeology?
11/01/24 21:22         Borderlands™  BRONZE: 1.21 Gigawatts
11/01/24 21:59         Borderlands™  BRONZE: Discovered Sledge's Safe House
11/01/24 23:57         Borderlands™  BRONZE: Discovered Headstone Mine
11/01/25 21:31         Borderlands™  SILVER: Wanted: Sledge
11/01/25 21:47         Borderlands™  BRONZE: There are some who call me...Tim
11/01/25 21:47         Borderlands™  BRONZE: Ding! Expert
11/01/26 21:49         Borderlands™  BRONZE: Fence
11/01/26 22:03         Borderlands™  BRONZE: 12 Days of Pandora
11/01/27 18:05         Borderlands™  BRONZE: Paid in New Haven
11/01/27 20:40         Borderlands™  BRONZE: Facemelter
11/01/30 10:37         Borderlands™  BRONZE: Discovered The Scrapyard
11/01/30 16:29         Borderlands™  BRONZE: Weapon Aficionado
11/01/30 17:21         Borderlands™  BRONZE: Discovered Krom's Canyon
11/01/30 20:46   Vandal Hearts: FoJ  BRONZE: Quick Learner
11/01/31 17:38         Borderlands™  SILVER: Wanted: Krom
11/02/06 17:15         Borderlands™  BRONZE: Discovered Trash Coast
11/02/06 20:11         Borderlands™  BRONZE: Ding! Hardcore
11/02/07 19:41         Borderlands™  SILVER: Pandora-dog Millionaire
11/02/07 22:07         Borderlands™  SILVER: Destroyed the Hive
11/02/07 23:54         Borderlands™  SILVER: Wanted: Flynt
11/02/08 21:18   Vandal Hearts: FoJ  BRONZE: Zero Casualties
11/02/11 23:21         Borderlands™  SILVER: And They'll Tell Two Friends
11/02/12 17:56         Tank Battles  BRONZE: First Blood
11/02/12 19:43         Tank Battles  BRONZE: The Pacificator
11/02/13 21:04   Modern Combat: Dom  BRONZE: Specialist
11/02/13 21:47   Modern Combat: Dom  BRONZE: War Veteran
11/02/19 18:26   Modern Combat: Dom  BRONZE: Team Savior
11/02/20 10:10   Modern Combat: Dom  BRONZE: Billy the Kid
11/02/20 11:05   Modern Combat: Dom  BRONZE: Heavy Counter
11/02/21 17:16   Modern Combat: Dom  BRONZE: Death Bringer
11/02/23 22:33   Modern Combat: Dom  BRONZE: Priceless
11/02/24 22:17      RESIDENT EVIL 5  BRONZE: A Cut Above
11/02/25 18:43          My Aquarium  BRONZE: Light Show Novice
11/02/25 21:21   Modern Combat: Dom  BRONZE: Raining Shrapnel
11/02/27 12:23         Borderlands™  BRONZE: Made in New Haven
11/02/27 12:52         Borderlands™  BRONZE: Discovered Crimson Lance Enclave
11/02/27 20:49         Borderlands™  BRONZE: Discovered Eridian Promontory
11/02/27 21:43         Borderlands™    GOLD: Destroyed the Destroyer
11/02/27 22:44         Borderlands™  BRONZE: Made in Fyrestone
11/03/01 20:18   Fallout: New Vegas  BRONZE: Ain't That a Kick in the Head
11/03/01 21:36        Resistance 2™  BRONZE: Recycler
11/03/01 21:46        Resistance 2™  BRONZE: Rampage!
11/03/01 22:53         The Saboteur  BRONZE: Vive La Resistance
11/03/01 23:08         The Saboteur  BRONZE: Road Trip
11/03/02 20:47          My Aquarium  SILVER: Mix Master
11/03/02 21:55             R.U.S.E.  BRONZE: First Contact
11/03/02 23:37        Resistance 2™  BRONZE: Fried Calamari
11/03/02 23:59        Resistance 2™  BRONZE: Covert Ops
11/03/03 21:05             R.U.S.E.  BRONZE: Holding the Pass
11/03/04 20:22        Resistance 2™  BRONZE: I See You
11/03/04 21:01        Resistance 2™  BRONZE: Exterminator
11/03/05 19:56        Resistance 2™  BRONZE: Talk To The Hand
11/03/05 20:31        Resistance 2™  BRONZE: Flyswatter
11/03/07 20:01        Resistance 2™  SILVER: Xenocide
11/03/07 21:30        Resistance 2™  BRONZE: The Bigger They Are
11/03/08 20:38        Resistance 2™  BRONZE: Up Close and Personal
11/03/08 20:53        Resistance 2™  BRONZE: Spitting Lead
11/03/08 21:21        Resistance 2™  BRONZE: Big Game Hunter
11/03/09 16:50          Uncharted 2  BRONZE: First Treasure
11/03/09 17:57          Uncharted 2  BRONZE: Headshot Expert
11/03/09 20:30          Uncharted 2  BRONZE: 20 Headshots
11/03/09 20:34          Uncharted 2  BRONZE: Bare-knuckle Brawler
11/03/10 19:53          My Aquarium  BRONZE: Breeding Novice
11/03/10 20:19          Uncharted 2  SILVER: Bare-knuckle Slugger
11/03/10 20:29          Uncharted 2  BRONZE: Hangman
11/03/10 20:34          Uncharted 2  BRONZE: Apprentice Fortune Hunter
11/03/10 20:40          Uncharted 2  BRONZE: 100 Headshots
11/03/10 21:37          Uncharted 2  BRONZE: 70 Kills: FAL
11/03/10 23:40          Uncharted 2  BRONZE: 50 Kills: 92FS - 9mm
11/03/10 23:45          Uncharted 2  BRONZE: Triple Dyno-Might!
11/03/11 22:35          Uncharted 2  BRONZE: 20 Kills: Pistole
11/03/11 22:40          Uncharted 2  BRONZE: 70 Kills: M4
11/03/11 23:18          Uncharted 2  BRONZE: 30 Kills: Mk-NDI
11/03/11 23:47          Uncharted 2  BRONZE: 50 Kills: Dragon Sniper
11/03/12 19:49          My Aquarium  SILVER: Breeding Master
11/03/12 21:09          Uncharted 2  BRONZE: Novice Fortune Hunter
11/03/13 10:06          Uncharted 2    GOLD: Charted! - Normal
11/03/13 10:07          Uncharted 2  SILVER: Charted! - Easy
11/03/13 20:00          Uncharted 2  SILVER: 250 Headshots
11/03/13 21:21          Uncharted 2  BRONZE: 30 Kills: Wes - 44
11/03/13 21:47          Uncharted 2  BRONZE: 50 Kills: Micro - 9mm
11/03/13 22:12          Uncharted 2  BRONZE: 30 Kills: Moss - 12
11/03/13 22:16          Uncharted 2  BRONZE: Run-and-Gunner
11/03/20 20:12  Red Dead Redemption  BRONZE: Sons of Mexico
11/03/20 20:50  Red Dead Redemption  BRONZE: No More Fancy Words
11/03/20 21:50  Red Dead Redemption  BRONZE: A Savage Soul
11/03/20 23:53  Red Dead Redemption  BRONZE: The Benefits of Civilization
11/03/22 22:37  Red Dead Redemption  BRONZE: Into the Sunset
11/03/22 23:13  Red Dead Redemption    GOLD: Nurture or Nature?
11/03/24 22:28  Red Dead Redemption  SILVER: Long Arm of Marston
11/03/29 21:56          Dead Space™  BRONZE: Cannon Fodder
11/03/31 21:01   Faery: Leg Of Aval  BRONZE: Explorer
11/03/31 21:20   Faery: Leg Of Aval  SILVER: Head Hunter

Kdyby měl někdo zájem, stačí říct a udělám mu jeho vlastní historii.

A co dál? Nad tím právě přemýšlím. Mohl bych to udělat jako webovou aplikaci v PHP a k tomu poskytovat vyzitky a další informace. Uměl bych to udělat i jako aplikaci napsanou v JavaScriptu a běžící ve webovém prohlížeči a uvažoval jsem i o tom, že bych to mohl udělat jako GUI aplikaci napsanou v Pythonu. Ale nevím zda to stojí za to. Bylo by s tím dost práce a přitom by to bylo postaveno nad něčím, co je jen v testovacím provozu a může být kdykoli vypnuto. Radši bych to založil na něčem serioznějším. To co jsem chtěl nejvíc, historii svých trofejí už mám. Tak asi budu zatím vyčkávat na nějaký impuls.

Žádné komentáře:

Okomentovat