#php #google-api #google-api-client
#php #google-api #google-api-client
Вопрос:
Я использую клиентскую библиотеку Google PHP, и код не работает.
Когда я попытался добавить группу либо из OAuth 2.0 Playground, либо из https://developers.google.com/admin-sdk/directory/v1/reference/groups/insert попробуйте это раздел API работает нормально, но из кода появляется следующая ошибка:
Error refreshing the OAuth2 token, message: '{
"error" : "unauthorized_client",
"error_description" : "Unauthorized client or scope in request."
}'
Код:
public $scopes = array(
//'https://www.googleapis.com/auth/admin.directory.user.readonly',
//'https://www.googleapis.com/auth/admin.directory.group.member',
'https://www.googleapis.com/auth/admin.directory.group',
'https://www.googleapis.com/auth/apps.groups.settings',
'https://www.googleapis.com/auth/admin.directory.group.member.readonly',
'https://www.googleapis.com/auth/admin.directory.group.readonly'
);
$this->client = new Google_Client();
$this->client->setApplicationName("Test app");
$key = file_get_contents(APPPATH . $this->key_file_location);
$cred = new Google_Auth_AssertionCredentials(
$this->email_address, $this->scopes, $key
);
$cred->sub = $this->sub;
$this->client->setAssertionCredentials($cred);
if ($this->client->getAuth()->isAccessTokenExpired()) {
$this->client->getAuth()->refreshTokenWithAssertion($cred);
}
$this->dir = new Google_Service_Directory($this->client);
Мой ключ и подзаголовок верны, никаких проблем с этим при удалении https://www.googleapis.com/auth/admin.directory.group это из области действия моего кода работает нормально.