Как использовать учетную запись службы Google с Admin SDK?Php

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Как использовать учетную запись службы Google с Admin SDK?

Сообщение Anonymous »

Я хотел бы использовать функцию участников Admin SDK Google. Я использую PHP и CodeIgniter 3. Я создал учетную запись службы в облачной консоли Google.use Google\Client as Google_Client;
use Google\Service\Directory as Google_Service_Directory;
use Google\Service\Directory\Members as Google_Service_Directory_Members;
use Google\Service\Exception as Google_Service_Exception;
class Google_mailinglist_model extends CI_Model
{
protected $google_client;
protected $google_directory;
protected $google_group_settings;

public function __construct()
{
parent::__construct();

$this->load->config('google');
$this->google_client = new Google_Client($this->config->item('google_service_account'));
$this->google_client->setAuthConfig($this->config->item('google_service_account'));
$this->google_client->setScopes([
Google_Service_Directory::ADMIN_DIRECTORY_GROUP_MEMBER,
]);
$this->google_client->fetchAccessTokenWithAssertion();
$this->google_directory = new Google_Service_Directory($this->google_client);
}

public function test($address)
{
$members = array();
$page_token = null;
$max_results = 200;
try
{
$response = $this->google_directory->members->listMembers($address, ['maxResults' => $max_results, 'pageToken' => $page_token]);

//make sure we have a valid response
if (! $response instanceof Google_Service_Directory_Members)
{
log_message('ERROR', 'Google Directory Members API returns invalid response.');
}

//store email addresses
if (isset($response->members))
{
foreach ($response->members as $member)
{
$members [] = $member->getEmail();
}
}
return $members;
}
catch (Google_Service_Exception $e)
{
log_message('ERROR', 'Google API Error: ' . $e->getMessage());
return false;
}
}
}
< /code>
my config google.php -файл: < /p>
$config['google_service_account'] = array(
'application_name' => 'Example',
'project_id' => 'example',
'type' => 'service_account',
'client_id' => '01234567890',
'private_key' => "-----BEGIN PRIVATE KEY-----\nkey\n-----END PRIVATE KEY-----\n",
'client_email' => '[email protected]',
'prompt' => 'auto',
'approval_prompt' => 'auto',
);
< /code>
Я получаю следующую ошибку от Google: < /p>
"error": {
"code": 403,
"message": "Not Authorized to access this resource/api",
"errors": [ {
"message": "Not Authorized to access this resource/api",
"domain": "global",
"reason": "forbidden"
} ] }
< /code>
Как мне разрешить эту учетную запись службы для Admin SDK API? Я попробовал много вариантов в облачной консоли Google, но без результата.

Подробнее здесь: https://stackoverflow.com/questions/796 ... -admin-sdk
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»