我使用PHP的谷歌日曆API的v3。如何以及何時使用刷新令牌與PHP谷歌日曆api
在日曆所有者授權後,我使用數據庫中的刷新標記保存access_token。
當任何人顯示日曆頁我有代碼的這一點點的作品
$client = new apiClient();
$client->setApplicationName("My Calendar");
$client->setAccessType('offline');
$client->setAccessToken($_SESSION['google']['access_token']);
$calService = new apiCalendarService($client);
$optParams = array('timeMin' => $gstart, 'timeMax'=> $gend);
$events = $calService->events->listEvents($_SESSION['google']['google_cal_id'], $optParams);
我在文檔看出,在某些時候,我可能需要使用刷新標記(我有在數據庫中。) 我不知道的是如何使用這個令牌和何時。在某個時候setAccessToken會拋出一個異常嗎?什麼是最好的方法來測試這個以及 謝謝
那麼你每次都這樣做?這裏是我困惑的地方,如果它從數據庫(包括刷新標記的整個JSON)和$ client-> setAccessToken($ _SESSION ['google'] ['access_token'])獲取accesstoken;即使用戶是訪問者未登錄或驗證 – randy 2012-08-17 19:00:55
是的,但它最終會訪問令牌將過期。所以如果你想在一年後能夠使用這個令牌,你將無法做到這一點。在這種情況下,您需要定期使用刷新令牌來防止訪問令牌過期。 – user1289347 2012-08-17 19:05:25
訪問令牌過期時會失敗嗎? - > $ client-> setAccessToken($ _SESSION ['google'] ['access_token']);有沒有關於如何做到這一點的例子?我假設刷新令牌返回一個新的訪問令牌,我用新數據庫替換數據庫中的數據?我想我正在努力的一部分是「週期性」。我不想每次都得到一個新的,我認爲這將是非常有效的。感謝您的幫助 – randy 2012-08-21 15:19:06