測定値送信API - GEIGERMAP

[リクエスト]
http://gm-jp.org/

に、下記のパラメータをGETメソッドで送信する

action       : "Post" に固定(大文字小文字を区別するので注意)
id           : 登録時に設定したID
measured_time: 測定した時刻を UNIX TIMESTAMP で指定
count        : ガイガーカウンタのカウント値(測定開始からの累積カウント)
time         : ガイガーカウンタのカウント秒(測定開始からの経過時間)
hash         : ハッシュ値(※後述)

送信例:
http://gm-jp.org/?action=Post&id=mitaka&measured_time=1300490160&count=3274&time=11859&hash=e065558661377a1fc7b89551e7b3a80cc0a778d9

ハッシュ値 の計算方法

id, measured_time, count, time, 秘密キー
を順番に ':' 区切りで繋げた文字列のSHA1ハッシュを求める

上記の例では、秘密キー xxxxx として(実際には秘密キーは40文字の長さがあるが)
mitaka:1300490160:3274:11859:xxxxx
という文字列のSHA1ハッシュ値を求めて、
e065558661377a1fc7b89551e7b3a80cc0a778d9
というハッシュ値を送信する。

measured_time には30日前までの値を設定できる。
これにより、あらかじめ測定値を記録しておいてまとめて送る
バッチ送信が可能だが、下記に注意する事
・測定時刻の順にデータを送信しなければならない。
 一度送信した時刻よりも古い測定時刻は受け付けない。
・バッチ送信は、1秒以上の間隔をあけなければいけない。

[レスポンス]
送信に成功した場合は Status: 200 OK が返る。
ボディには "ok" の2文字だけが返るので、これで確認しても良い。

エラー時は、下記のHTTPエラーを返す。

400 Bad Request (Bad action)
	未定義の action 値を送信した
400 Bad Request (measured_time too past)
	測定時刻が過去過ぎる 30日より古いデータは受け付けない
400 Bad Request (measured_time too future)
	測定時刻が未来過ぎる 30分より未来のデータは受け付けない
400 Bad Request (bad time order)
	測定時間が順序通りに送られていない
400 Bad Request (???)
	パラメータにエラーがある(??? にパラメータ名を記載)
403 Forbidden (no member)
	指定のIDは存在しない
403 Forbidden (bad hash)
	ハッシュ値が一致しない
503 Service Unavailable (more interval required)
	1秒未満の間隔でデータが送信された