Project Description東京電力電力供給状況APIのAPIをSilverlightアプリケーションから呼び出すためのAPIの簡易ラッパーです。
http://tepco-usage-api.appspot.com/
APIの使い方Okazuki.TepcoUsageApi.TestのMainPage.xamlに全APIを叩くテスト用の画面があります。
基本的にパラメータとコールバックを渡す形で使用します。
使用例// 最新の状況を取得してきて、取得してきたものをJSON形式にシリアライズしてメッセージボックスに出す。
var client = new TepcoCapacityClient();
client.GetLatest(result =>
{
this.Dispatcher.BeginInvoke(() =>
{
var s = new DataContractJsonSerializer(typeof(TepcoStatus));
var ms = new MemoryStream();
s.WriteObject(ms, result);
var text = Encoding.UTF8.GetString(ms.ToArray(), 0, ms.ToArray().Length);
MessageBox.Show(text);
});
});
APIの戻り値の型単一のステータスを返すものは以下の型が返ってきます。複数のステータスが返ってくる場合は以下の型のリストが返ってきます。
/// <summary>
/// 東京電力電力供給状況
/// </summary>
[DataContract]
public class TepcoStatus
{
/// <summary>
/// 年
/// </summary>
[DataMember(Name = "year")]
public int Year { get; set; }
/// <summary>
/// 月
/// </summary>
[DataMember(Name = "month")]
public int Month { get; set; }
/// <summary>
/// 日
/// </summary>
[DataMember(Name = "day")]
public string Day { get; set; }
/// <summary>
/// 時刻(24h)
/// </summary>
[DataMember(Name = "hour")]
public int Hour { get; set; }
/// <summary>
/// この時間に計画停電が実施されていたらtrue
/// </summary>
[DataMember(Name = "saving")]
public bool Saving { get; set; }
/// <summary>
/// 供給可能最大電力が決定された日時(UTC)の文字列表現
/// </summary>
[DataMember(Name = "capacity_updated")]
public string CapacityUpdated { get; set; }
/// <summary>
/// この消費電力のデータが更新された日時(UTC)の文字列表現
/// </summary>
[DataMember(Name = "usage_updated")]
public string UsageUpdated { get; set; }
/// <summary>
/// この時刻の文字列(UTC)
/// </summary>
[DataMember(Name = "entryfor")]
public string EntryforText { get; set; }
/// <summary>
/// この時間帯の消費電力(万kW)
/// </summary>
[DataMember(Name = "usage")]
public int Usage { get; set; }
/// <summary>
/// この時間帯の供給可能最大電力(万kW)
/// </summary>
[DataMember(Name = "capacity")]
public int Capacity { get; set; }
}