我已經在我的PHP應用程序中正確實施了Google API客戶端。我能夠連接到我想要的服務。如何檢查Google客戶端API密鑰對Google PHP API庫是否有效?
但是現在我想檢查用戶輸入的API密鑰是否有效。
我看了看周圍或由Google_Client()類暴露的方法,但我不認爲我確定如何檢查此問題。
以下這裏是我的類,它創建了一個客戶端的方法:
private function client($api_key) {
$client = new \Google_Client();
$client->setClassConfig('Google_Cache_File', 'directory', $this->cache_dir);
$client->setDeveloperKey($api_key);
$client->setApplicationName($this->name);
$client->setScopes(array(\Google_Service_Calendar::CALENDAR_READONLY));
$client->setAccessType('online');
return $client;
}
我不想再拍方法來告訴如果所使用的API密鑰有效或不...
public function validate_api_key($api_key) {
$client = $this->client($api_key);
// What should I use here to check if $api_key is valid?
if ($client) {
return true;
}
return 'error';
}
或者我應該連接到服務,然後檢查是否有從那裏讀取訪問? 但我相信有一個更簡單和更好的方法來做到這一點...
我應該連接到服務,然後檢查是否有讀取權限?我敢肯定,這是他們唯一的方法來測試其有效的 – DaImTo
好啊...我希望,雖然在客戶端對象的直接方法返回一個布爾或東西......事情是,谷歌_客戶端或一個谷歌服務實例化客戶端仍然會嘗試連接並且服務將作出響應,因此通過提取數據驗證api密鑰是否有效的步驟實際上是不少實際的 – unfulvio
是的,但是lib驗證它的唯一方法是發送請求。我乾旱谷歌公開了其密鑰的格式。即使checkToken()看起來只是試圖發出一個虛擬請求。 – DaImTo