タイムゾーン、アカウント、請求
日時の値は常にUTC時間で返されます(日時値の最後のZによって示されます)。 日時は、タイムゾーンの標準形式ISO 8601を使用すると、POSTやPUTコマンドで任意のタイムゾーンで指定できます。時間はISO-8601のサブセットを使用して表示されます。具体的には、日付形式のstrptime文字列は「%Y-%m-%dT%l:%M:%S%z」です。広告主のアカウントのタイムゾーンは、正式な請求額が確定される実際の時間を決定します。
アカウントレベルでAPIをクエリ(GET accounts)する場合、次のようなタイムゾーン情報が表示されます。
{
"request": {
"params": {
"account_id": "18ce54d4x5t"
}
},
"data": {
"name": "API McTestface",
"business_name": null,
"timezone": "America/Los_Angeles",
"timezone_switch_at": "2016-07-21T07:00:00Z",
"id": "18ce54d4x5t",
"created_at": "2016-07-21T22:42:09Z",
"salt": "54cb7b5a34183f77d82dd6d0f4329691",
"updated_at": "2017-09-09T06:42:14Z",
"business_id": null,
"approval_status": "ACCEPTED",
"deleted": false
}
}
これにはtimezone
(概要についてはウィキペディアでタイムゾーンを確認してください)とtimezone_switch_at
の2つのタイムゾーン値が含まれます。timezone_switch_at
はUTCタイムゾーン(+00:00)で表示されますが、指定されるタイムゾーンの午前0時を常に示しています。
広告主のタイムゾーンはAPIを通じて編集することはできません。この属性は、Twitterの広告主アカウントマネージャーによって契約や請求のレベルで設定されます。
レポートを作成したり、アナリティクスエンドポイントをクエリしたりする場合は、アカウントが米国/ロサンゼルスのタイムゾーンから新しいローカル値に切り替えられる日にギャップが生じるため、timezone_switch_at
値に気を付けてください。
タイムゾーンでの日時値の指定
日時値は常にUTC時間で返されます(日時値の最後にZ
によって示されます)。日時は、タイムゾーンの標準形式ISO 8601を使用すると、POSTやPUTコマンドで任意のタイムゾーンで指定できます。たとえば、2017-07-10T08:00:00-0800
は許容できる入力値で、UTC値の2017-07-10T16:00:00Z
に自動的に解釈されます。
DAY
やTOTAL
のgranularity
でアナリティクスエンドポイントを使用する場合、start_time
値はアカウント保持者のローカルタイムゾーンで希望する日の午前0時に指定する必要があります。使用するタイムゾーンのオフセットは、問題の日のオフセットではなく当日のオフセットになります。たとえば、太平洋夏時間中の米国/ロサンゼルスの広告アカウントで、UTCオフセットは-0700になります。よって、アナリティクスリクエストで時間はstart_time=2017-05-21T07:00:00Z
またはstart_time=2017-05-21T00:00:00-0700
と指定されます。オフセットが常に+09:00のアジア/東京に広告アカウントがある場合、値はstart_time=2017-05-20T15:00:00Z
またはstart_time=2017-05-21T00:00:00+0900
と指定されます。