:
現在通知チャネルを更新する自動の方法はありません。チャネルの有効期限が近づいている場合は、watch
メソッドを呼び出すことで、新しいチャネルを作成する必要があります。いつものように、新しいチャネルのプロパティには、id
という固有の値を使用する必要があります。同じリソースの2つの通知チャネルがアクティブである場合、「オーバーラップ」している可能性が高いことに注意してください。
X-Goog-Channel-Expiration
は、通知メッセージ(時には本)のヘッダ部に見出すことができます。
POST https://sampleurl.com/notifications // Your receiving URL.
Content-Type: application/json; utf-8
Content-Length: 0
X-Goog-Channel-ID: 4ba78bf0-6a47-11e2-bcfd-0800200c9a66
X-Goog-Channel-Token: 398348u3tu83ut8uu38
X-Goog-Channel-Expiration: Tue, 19 Nov 2013 01:13:52 GMT
X-Goog-Resource-ID: ret08u3rv24htgh289g
X-Goog-Resource-URI: https://www.googleapis.com/calendar/v3/calendars/[email protected]/events
X-Goog-Resource-State: exists
X-Goog-Message-Number: 10
私はあなたの時計のメソッドを要求するときに有効期限を設定することができます関連のSO post発見しました。ここでは、コードは次のようになります。
$service = new Google_Service_Calendar($client);
$channel = new Google_Service_Calendar_Channel($service);
$channel->setId($uniqueID);
$channel->setType('web_hook');
$channel->setAddress('https://sample.net/notificationCallBack.php');
$timetoExpire = time()+3600000;
$optParams = array('ttl' => $timetoExpire);
$channel->setParams($optParams);
$watchEvent = $service->events->watch($calendarID, $channel);
今、あなたは有効期限を設定したことを、あなたは今、ヘッダ部分をチェックして、X-Goog-Channel-Expiration
を参照してください。
チャネルの有効期限(存在する場合)は、watchメソッドから返された情報にUnixのタイムスタンプ(ミリ秒単位)として含まれます。
これが役に立ちます。