確かに、このデータは Valve のサーバー内に存在する必要がありますが、何らかの理由で公開されていません。今のところ、このデータはユーザーの PC の Steam クライアントからのみ利用できるようです。掘り下げた後、最終再生のタイムスタンプが次のファイルから入手できることがわかりました。
\steam\userdata\{steam_id}\config\localconfig.vdf
.vdf ファイルは、テキスト エディタで開くことができるテキスト ファイルです。タイムスタンプの 1 つの例を次に示します (正当な原因 3)。
"225540"
{
"LastPlayed" "1466894369"
}
タイムスタンプはエポック形式で、次のように変換されます6/25/2016, 6:39:29 PM GMT-4:00 DST
ユーザーに自分のコンピューターからこのファイルをアップロードしてもらい、サーバーで解析して、最後に再生されたタイムスタンプを取得できます。理想的ではありませんが、これが始まりです。
プロジェクトにどのプログラミング言語を選択するかはわかりませんが、開始できる VDF パーサーをいくつか示します。
C#:
https://github.com/sanmadjack/VDF
NodeJS:
https://www.npmjs .com/package/vdf
Python:
https://gist.github.com/strycore/5735482
編集 2017 年 4 月 29 日:
ユーザーの Steam ゲーム ページからこの情報をスクレイピングできることを発見しました:
http://steamcommunity.com/id/pcmantinker/games/?tab=all
ページのソース コードを調べると、ゲームをレンダリングするための JavaScript オブジェクトがあることに気付きました。このオブジェクト内で、各ゲームには利用可能な「last_played」フィールドがあります。1 つのエントリは次のようになります。
{
"appid":346110,
"name":"ARK: Survival Evolved",
"logo":"http:\/\/cdn.edgecast.steamstatic.com\/steamcommunity\/public\/images\/apps\/346110\/58a660ddb7ed1864656ec65e4c18d6edd3bbf512.jpg",
"friendlyURL":346110,
"availStatLinks":{
"achievements":true,
"global_achievements":true,
"stats":false,
"leaderboards":false,
"global_leaderboards":false
},
"hours":"0.5",
"hours_forever":"84",
"last_played":1492447993
}
この情報を解析するには、文字列の先頭と末尾を見つけてから、JSON を解析して操作可能なオブジェクトにする必要があります。このとき、文字列の先頭は で、文字列"var rgGames = ["
の末尾は です"];"
。これが理想的でないことは承知していますが、Steam クライアントをインストールしなくてもこの情報を取得できます。