基本上,我一直在使用PHP的谷歌API客戶端庫訪問多個用戶(允許通過oAuth2工作流程訪問)的Gmail收件箱,並提取一些數據...PHP谷歌API客戶端不一致無法加載適當的憑據
觀察: 客戶端得到驗證正確後,才10到15分鐘的時間...... 一旦令牌用於驗證用戶的Gmail收件箱,數據是該用戶訪問。但是當下一個令牌用於認證另一個用戶的Gmail收件箱時,PHP google api客戶端不會重新加載,而是使用先前的用戶(我懷疑它已被緩存/存儲在會話中)。
碼流:
<?php
$tokenArray = array();
foreach($tokenArray as $token) {
$googleclient = getGoogleClient($token);
//$googleclient is stale even after the second iteration of the foreach loop
$service = new Google_Service_Gmail($googleclient);
$googleuser = "me";
//if we change the variable $googleuser to some email address "[email protected]", we get a "Delegation denied for [email protected]"
$userprofile = $service->users->getProfile($googleuser);
var_dump($userprofile);//same data
}
?>
,如果我們把它拿出來循環和後25使單獨的呼叫 - 30分鐘(或重新啓動Apache網絡服務器),第二代幣以客戶端庫使用正常。
是因爲Google API PHP客戶端庫緩存對象並重用它30分鐘或者我錯過了什麼?
我的問題是如何處理多個令牌時重新加載客戶端?
是否有正確的方法/任何其他方式來初始化客戶端?
做任何你有PHP谷歌API客戶端庫...我已經在官方文檔,但無濟於事檢查它的任何代碼片段...
感謝所有幫助