2016-06-15 11 views
3

Ich versuche, eine neue Tabelle zu erstellen, die ich verstehe, ist jetzt möglich in v4 der API, aber ich sehe nichts, wie Sie ein Blatt in der PHP-Dokumentation erstellen. Ich habe:Erstellen Sie eine Tabellenkalkulations-API v4

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

$service->spreadsheets->create(); 

Aber es erwartet Parameter 1 eine Instanz von Google_Service_Sheets_Spreadsheet zu sein, und ich bin mir nicht sicher, was genau soll ich sorgen.

+0

Ich konnte der Fehler loszuwerden, indem es $ machen service-> spreadsheets-> erstellen (neu Google_Service_Sheets_Spreadsheet()); und ändere den Umfang in/auth/tables, aber es scheint immer noch nicht die Tabelle zu erstellen, ich bekomme einfach keinen Fehler mehr. – awestover89

Antwort

4

Haben es herausgefunden. Das Blatt wurde unter dem Dienstkonto erstellt, nicht das primäre Konto. Hatte die Drive API zu verwenden, um Berechtigungen hinzuzufügen, mit dem primären Konto zu teilen:

$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);