2016-06-15 5 views
3

Я пытаюсь создать новую электронную таблицу, которая, как я понимаю, теперь возможна в v4 API, но я не вижу ничего подробного описания того, как создать лист в документации PHP. Я получил:Создать API-интерфейс для таблиц v4

$client->setApplicationName("Test"); 
$client->setScopes(['https://www.googleapis.com/auth/sheets']); 
$service = new Google_Service_Sheets($client); 

$service->spreadsheets->create(); 

Но он ожидает параметр 1, чтобы быть экземпляром Google_Service_Sheets_Spreadsheet, и я не уверен, что именно я должен предоставить.

+0

Я был в состоянии избавиться от ошибок, сделав его $ сервис-> spreadsheets-> создать (новый Google_Service_Sheets_Spreadsheet()); и изменение области действия/auth/spreadsheets, но она по-прежнему, кажется, не создает электронную таблицу, я больше не получаю никаких ошибок. – awestover89

ответ

4

Получил это. Лист был создан под учетной записью службы, а не основной учетной записью. Пришлось использовать Drive API для добавления разрешений для обмена с основной учетной записи:

$client->setScopes(
     ['https://www.googleapis.com/auth/spreadsheets', 
     'https://www.googleapis.com/auth/drive']); 
$service = new Google_Service_Sheets($client); 
$drive = new Google_Service_Drive($client); 

$ss = $service->spreadsheets->create(new Google_Service_Sheets_Spreadsheet()); 
$newPermission = new Google_Service_Drive_Permission(); 
$newPermission->setEmailAddress("[email protected]"); 
$newPermission->setType('user'); 
$newPermission->setRole('writer'); 
$optParams = array('sendNotificationEmail' => false); 
$drive->permissions->create($ss->spreadsheetId,$newPermission,$optParams); 

 Смежные вопросы

  • Нет связанных вопросов^_^