Я получаюприложения Google Admin SDK Справочник по API 403 в PHP
Error calling GET https://www.googleapis.com/admin/directory/v1/users/[email protected]: (403) Not Authorized to access this resource/api
при запуске
$client = new Google_Client();
$client->setClientId(GOOGLEAPPS_CLIENT_ID);
$client->setApplicationName(SITE_NAME);
$key = file_get_contents(APPLICATION_PATH . 'googleapps-privatekey.p12');
$assertion = new Google_AssertionCredentials(
GOOGLEAPPS_EMAIL_ADDRESS, // the service account name
array('https://www.googleapis.com/auth/admin.directory.user'), // see https://developers.google.com/admin-sdk/directory/v1/guides/authorizing
$key);
$client->setAssertionCredentials($assertion);
$service = new Google_DirectoryService($client);
$user = $service->users->get('[email protected]');
Я следовал инструкциям https://developers.google.com/admin-sdk/directory/v1/guides/prerequisites и галочка Enable API Access. Я использовал консоль Google API https://code.google.com/apis/console, чтобы сгенерировать ключ учетной записи службы и получил эту работу в порядке.
https://groups.google.com/forum/#!msg/google-api-php-client/LM-mwmuZe7I/IA_K5v1R1UMJ
Я использовал библиотеку Google PHP и следовали инструкциям https://code.google.com/p/google-api-php-client/wiki/OAuth2?hl=no#Service_Accounts, чтобы попытаться получить учетные записи службы работают. Отладка в свой код: я разрешаю штраф и получаю свежий токен доступа, как ожидалось, https://developers.google.com/accounts/docs/OAuth2ServiceAccount.
Я не могу понять, почему я получаю сообщение «Не авторизовано для доступа к этому ресурсу/api», когда все, что я прочитал, говорит, что я включил все в порядке. Есть идеи?
эй стив, вы получите эту работу в PHP в конце концов? – user417669
нет. я решил подождать, пока Google не закончит обновление своих консольных обновлений. Их документация все испорчена: вы идете по кругу, щелкая ссылку на текущие документы, но заканчивая устаревшими документами. Я видел три разных пользовательских интерфейса для настройки учетных записей служб. Понял, что мне просто нужно подождать, пока они не разобрались. – Steve
gotchya, спасибо за ответ. – user417669