创建电子表格API v4

awe*_*r89 3 google-api-php-client

我正在尝试创建一个新的电子表格,据我了解,现在可以在API的v4中使用它,但是在PHP文档中没有看到任何有关如何创建工作表的详细信息。我有:

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

$service->spreadsheets->create();
Run Code Online (Sandbox Code Playgroud)

但是它期望参数1是Google_Service_Sheets_Spreadsheet的实例,并且我不确定应该提供什么。

awe*_*r89 6

明白了。该工作表是在服务帐户而非主帐户下创建的。必须使用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("awestover89@gmail.com");
$newPermission->setType('user');
$newPermission->setRole('writer');
$optParams = array('sendNotificationEmail' => false);
$drive->permissions->create($ss->spreadsheetId,$newPermission,$optParams);
Run Code Online (Sandbox Code Playgroud)