概要
Steam Web APIを使ってユーザー情報を取得してみた。
C#のWebRequest使ってこんな感じになりました。
Jsonとは何ぞやってとこから始めました。
目次
ソース
https://github.com/Lycheejam/steam_api/blob/master/steam_api/Form1.cs 🔗
- WebRequestにAPIキー仕込んだURLぶち込む
- GetResponseでユーザー情報をJson形式で受け取って表示
ざっとこんな感じ
Json
受け取る形式はこんな感じ
{
"response": {
"players": [
{
"steamid": "76561197960435530",
"communityvisibilitystate": 3,
"profilestate": 1,
"personaname": "Robin",
"lastlogoff": 1507623682,
"profileurl": "http://steamcommunity.com/id/robinwalker/",
"avatar": "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/f1/f1dd60a188883caf82d0cbfccfe6aba0af1732d4.jpg",
"avatarmedium": "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/f1/f1dd60a188883caf82d0cbfccfe6aba0af1732d4_medium.jpg",
"avatarfull": "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/f1/f1dd60a188883caf82d0cbfccfe6aba0af1732d4_full.jpg",
"personastate": 0,
"realname": "Robin Walker",
"primaryclanid": "103582791429521412",
"timecreated": 1063407589,
"personastateflags": 0,
"loccountrycode": "US",
"locstatecode": "WA",
"loccityid": 3961
}
]
}
}
※リファレンスにあったSteamスタッフのアカウントの例
using System.Runtime.Serialization;
using System.Runtime.Serialization.Json;
上記2つを追加してやって
受け取るJson形式をクラス定義してやれば良い
ここで注意点として参照の追加でハマる可能性がある
ここまでのはまりポイント 最初、System.Runtime.Serialization.Json を用いるため、 System.Runtime.Serialization.Json が参照の追加にあると思った。 しかし、実際には System.Runtime.Serialization.Json は参照追加の項目には存在せず、 System.ServiceModel.Web を参照追加するのが正しい。 http://posnum.hatenablog.com/entry/2014/09/19/233255 🔗
参考URL
- http://argius.hatenablog.jp/entry/20131113/1384352397 🔗
- http://posnum.hatenablog.com/entry/2014/09/19/233255 🔗
- https://developer.valvesoftware.com/wiki/Steam_Web_API 🔗
- https://dobon.net/vb/dotnet/internet/webrequestpost.html 🔗
- https://qiita.com/aosho235/items/1ad9ee05b1be62ca2c59 🔗
雑感
特段ユーザー情報取得できたからと言って何のことはないのだが
CSプレイヤーが好きそうなのを作ってみようと思ってる。