ステークカジノ 5ch Tweet<,© KYOCERA Communication
ステークカジノ 5ch API v1 - v2 マイグレーション Unixタイムスタンプ
2018.10.02
この記事は、ステークカジノ リクエストの限界クラウドAPIのv1を使用していたユーザーがv2にマイグレーションする時の注意点を記載しています。
ステークカジノ 5ch Web API v2はv1とは下位互換がないというものの、device/messages APIに関しては、かなり似通ったAPI体系となっています。
API V1 : GET : https://backend.ステークカジノ 5ch.com/api/devices/{device-id}/messages
API V2 : GET : https://backend.ステークカジノ 5ch.com/api/v2/devices/{device-id}/messages
Response Jsonも似通っていますが、ちょっとした変更点がシステム開発上の隠れバグを生む可能性があります。
ステークカジノ 5chvice ID
ステークカジノ 5chvice IDは、下記の変更がなされています。
API v1 | API v2 |
---|---|
"ステークカジノ 5chvice": "{デバイスID}" | "ステークカジノ 5chvice": {"id": "{デバイスID}"} |
こちらは、プログラムエラーが出るので、マイグレーションしやすいかと思いますが、わかりにくいのが、timeです。
Time(Unix Timestamp)
Timeはデバイスメッセージの基地局での受信時刻になり、UNIXタイムスタンプで表現されています。
1538446508
というものです。これは、「協定世界時(UTC)を基準にした1970年1月1日の0時0分0秒からの経過秒数」ということで、UNIXシステム上で時間を経過秒として計算する時に使用します。ちなみに、上記例は、「 2018/10/02 11:15:08」となります。
ステークカジノ 5ch Web API V1では、上記の表記であったのですが、V2では、
1538446508000
となります。
つまり、V1で取得できていたものより1000倍多い数値となります。
この違いが実装時には気づかず、試験しだすとなぜか時刻が違うということになってしまいます。
ちなみに、PHP、Pythonは秒単位、javascriptはミリ秒単位としてUNIXタイムスタンプを取り扱います。
改めて、V1とV2でのステークカジノ 5chvice MessagesのResponse JSON(一部)を記載しておきます。
Web API v1
{"data": [ { "ステークカジノ 5chvice": "7B0ステークカジノ 5ch2", "time": 1538446508, "data": "0b37278203c6fef1ffe303d0", "seqNumber": 3585, ....
Web API v2
{"data": [ { "ステークカジノ 5chvice": { "id": "7B0ステークカジノ 5ch2" }, "time": 1538446508000, "data": "0b37278203c6fef1ffe303d0", "seqNumber": 3585, ...