Доступ к таблицам Google через PHP API в учетной записи G-Suite - PullRequest
2 голосов
/ 19 сентября 2019

Я являюсь членом организации, и я настроил новый проект, включил API листов Google и настроил учетную запись службы с ролью владельца, я загрузил файл json, содержащий учетные данные, включая сертификат и все такое.

Я вошел и поделился этим листом с электронной почтой, созданной для этой учетной записи службы.

Когда я запускаю сценарий PHP и вызываю getSpreadsheetFeed (), лист вообще не отображается.

Когда я беру этот же лист и помещаю его на свой личный диск Google и делю его с той же учетной записью службы, он отображается, как и ожидалось.

Этот лист находится в папке «Общий диск».

<?php
require __DIR__ . '/vendor/autoload.php';

use Google\Spreadsheet\DefaultServiceRequest;
use Google\Spreadsheet\ServiceRequestFactory;

putenv('GOOGLE_APPLICATION_CREDENTIALS=' . __DIR__ . '/client_secret.json');

$client = new Google_Client;
$client->useApplicationDefaultCredentials();

$client->setApplicationName("MSE Reader Application");
$client->setScopes(Google_Service_Sheets::SPREADSHEETS);

if ($client->isAccessTokenExpired()) {
    $client->refreshTokenWithAssertion();
}

$accessToken = $client->fetchAccessTokenWithAssertion()["access_token"];
ServiceRequestFactory::setInstance(
    new DefaultServiceRequest($accessToken)
);

$spreadsheets = (new Google\Spreadsheet\SpreadsheetService)->getSpreadsheetFeed();

print_r($spreadsheets);

?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...