Mam poprawnie zaimplementowałem klienta Google API w mojej aplikacji PHP. Udało mi się połączyć z usługą, o którą chciałem.Jak sprawdzić, czy klucz API klienta Google jest prawidłowy w bibliotece Google PHP API?
Ale teraz chcę sprawdzić, czy klucz API wprowadzony przez użytkownika jest poprawny czy nie.
Rozejrzałem się wokół metod ujawnionych przez klasę Google_Client(), ale nie sądzę, że jestem pewien, jak to sprawdzić.
Poniżej oto sposób w mojej klasie, która tworzy klienta:
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;
}
I chcę, aby inny sposób stwierdzić, czy klucz API używany jest poprawny, czy nie ...
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';
}
Czy powinienem połączyć się z usługą, a następnie sprawdzić, czy mam tam dostęp do odczytu? Ale uważam, że jest prostszy i lepszy sposób na zrobienie tego ...
Czy powinienem połączyć się z usługą, a następnie sprawdzić, czy mam tam dostęp do odczytu? Jestem całkiem pewny, że to tylko sposób na sprawdzenie, czy jego prawidłowy – DaImTo
dobrze tak ... Mam nadzieję, że chociaż dla metody bezpośredniej w obiekcie klienta zwracającego bool lub coś ... chodzi o to, że Google_Client lub usługa Google utworzona przez klient nadal będzie próbował się połączyć, a usługa i tak zareaguje, więc kroki mające na celu sprawdzenie, czy klucz API jest ważny przez wyciąganie danych, są całkiem niezłe. – unfulvio
Tak, ale jedynym sposobem, aby lib potwierdził to byłoby wysłanie żądanie. Po suszy Google ujawnił formatowanie swoich kluczy. nawet checkToken() wygląda na to, że próbuje jedynie wykonać fałszywą prośbę. – DaImTo