Я использую аутентификацию учетной записи службы, чтобы создать листок Google, используя API Google Таблиц. Я хочу создать таблицу и как-то позволить моей команде открыть ее.Листы Google API v4 Создать лист и пригласить пользователей
$private_key = file_get_contents($rootDir . '/config/googleApiCredentials.p12');
$client_email = '[email protected]';
$scopes = implode(' ', ["https://www.googleapis.com/auth/drive"]);
$credentials = new \Google_Auth_AssertionCredentials(
$client_email,
$scopes,
$private_key
);
// tried once with additional constructor params:
// $privateKeyPassword = 'notasecret',
// $assertionType = 'http://oauth.net/grant_type/jwt/1.0/bearer',
// $sub = '[email protected]
$this->googleClient = new \Google_Client();
$this->googleClient->setAssertionCredentials($credentials);
if ($this->googleClient->getAuth()->isAccessTokenExpired()) {
$this->googleClient->getAuth()->refreshTokenWithAssertion();
}
$service = new \Google_Service_Sheets($this->googleClient);
$newSheet = new \Google_Service_Sheets_Spreadsheet();
$newSheet->setSpreadsheetId('34534534'); // <- hardcoded for test
$response = $service->spreadsheets->create($newSheet);
print_r($response);
Лист неоспоримым создан, я получаю ответ с
[spreadsheetId] => 1opxZmOf5dEPSLoKD1miMgwJRn643cXip6yCquPYxxx
Однако, я не могу открыть этот файл через браузер, используя учетную запись моего Google, даже когда Im добавляется в качестве владельца, редактора , писатель и читатель в консоли разработчика Google, в разрешениях проекта. Браузер говорит, что я не понял, и я могу связаться с администратором для получения разрешений
Любые предложения? Кто-нибудь управлял тем, как создавать документы и предоставлять доступ к ним для любого «человека»?
, которые вы аутентичности, как при создании файла? что вы подразумеваете под goole-api-services? Также, пожалуйста, добавьте службу create for $, чтобы мы могли видеть, как вы аутентифицируетесь, это может быть проще. – DaImTo
@DalmTo, я использую учетную запись службы, созданную в консоли разработчиков. Он выглядит так: [email protected] – Mike