Я пытаюсь интегрировать несколько вызовов Google API в пользовательский модуль Drupal 8.
В основном я пытаюсь сначала получить свой пользовательский класс, чтобы получить токен доступа от Google через OAuth, прежде чем я попытаюсь сделать что-то еще,Я делаю это с помощью функции класса со всем просто в одном месте.Функция выглядит следующим образом:
public function testTokenRequest(): void
{
// Setup Google Client Config within context of initialized class
$this->googleClient->setClientId($this->googleClientID);
$this->googleClient->setClientSecret($this->googleClientSecret);
$this->googleClient->setDeveloperKey($this->googleApiKey);
// Add Google MyBusiness scope
$this->googleClient->setScopes(array('https://www.googleapis.com/auth/plus.business.manage'));
try {
$accessToken = $this->googleClient->getAccessToken(); // null returned where breakpoint hit
$this->googleAccessToken = $accessToken; // Put xdebug breakpoint here
} catch (Exception $exception) {
echo $exception->getMessage();
}
}
В настоящее время все, что я получаю, - это нулевое значение, возвращаемое для вызова $accessToken = $this->googleClient->getAccessToken();
.
Неуверенный, где я иду неправильно, возможно вызов AddScopes, потому что поставщикдокументация для apiclient делает это немного по-другому, то есть $client->addScope(Google_Service_Plus::PLUS_ME);
, но я не смог найти правильный класс для использования в области действия MyBusinessAPI, поэтому вместо этого использовал строку детской площадки OAuth https://www.googleapis.com/auth/plus.business.manage
Я получаю OAuth Playground AccessTokenвозвращается, когда я его использую, но вместо этого получаю сообщение об ошибке «Отказано в доступе», хотя в мой белый список добавлен API-интерфейс GMB под учетными данными.