Невозможно редактировать листы, созданные учетной записью службы - PullRequest
0 голосов
/ 31 декабря 2018

Я создаю демонстрационный проект с использованием laravel, который должен создавать, форматировать и заполнять листы данными из базы данных.

Мне не нужно сохранять листы, поскольку мне нужен только интерфейс листов для данныхзапись, поскольку строки могут исчисляться сотнями и на лету требуют вычислений и формул.

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

Вот почему идеальная настройка для моего приложения - сервер-сервер.Я создал учетную запись службы на консоли разработчика , и код хорошо работает и создает листы.

 public function __construct()
{   
    /*
    * Prepare to make api calls
    * Get a Google_Client object first to handle auth and api calls, etc.
    * The environment variable is used to access the auth file via useApplicationDefaultCredentials
    */
    $this->client = new \Google_Client();
    $this->client->useApplicationDefaultCredentials();
    $this->client->setApplicationName("media-demo");

    // set the scopes
    $this->client->setScopes(['https://www.googleapis.com/auth/spreadsheets']);
    // $this->client->setAccessType('offline');

    /*
     * Use the authorized Google client to call the Google APIs
     * Build the service object here
    */ 
    $this->sheets = new \Google_Service_Sheets($this->client);

    /* 
    *   Work around for curl error 60 
    */
    $curlHttp = new \GuzzleHttp\Client(['verify' => 'C:\phpweb\cacert.pem']);
    $this->client->setHttpClient($curlHttp);

}

Это мой метод-конструктор, который создает клиент иэто пример ответа, который я получаю, когда создаю электронную таблицу с помощью Google_Service_Sheets_Spreadsheet () :

Google_Service_Sheets_Spreadsheet {
collection_key: "sheets"
developerMetadataType: "Google_Service_Sheets_DeveloperMetadata"
developerMetadataDataType: "array"
namedRangesType: "Google_Service_Sheets_NamedRange"
namedRangesDataType: "array"
propertiesType: "Google_Service_Sheets_SpreadsheetProperties"
propertiesDataType: ""
sheetsType: "Google_Service_Sheets_Sheet"
sheetsDataType: "array"
+spreadsheetId: "1da6OWxxx8dn2cDOduDTFTZUvFpyeYidjFq5nmz3Sr4E"
+spreadsheetUrl: "https://docs.google.com/spreadsheets/d/1da6OWxxx8dn2cDOduDTFTZUvFpyeYidjFq5nmz3Sr4E/edit"

}

Из ответа создается лист.Но вот проблема копирования и вставки ссылки в браузере: Вам нужно разрешение

Пользователь не может получить доступ к созданным листам.Как я могу сделать эту работу?

...