2016-06-15 188 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

我能夠通過將其設置爲$ service-> spreadsheets-> create(new 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); 
相關問題