我无法使用新的SpreadSheet API在GoogleDocs中创建电子表格,因为现在支持使用Google Drive API。
我发现的所有示例都是用于创建和修改表格,而不是主电子表格。
static string[] Scopes = { SheetsService.Scope.Spreadsheets };
var credential = GoogleWebAuthorizationBroker.AuthorizeAsync(new ClientSecrets {
ClientId = clientId, // FROM JSON
ClientSecret = clientSecret // FROM JSON
},
Scopes, Environment.UserName, CancellationToken.None,
new FileDataStore("xxIDxx.GoogleDrive.Auth.Store")).Result;
var service = new SheetsService(new BaseClientService.Initializer() {
HttpClientInitializer = credential,
ApplicationName = "Google Sheets API Project",
});
string SpreadSheetID = "AVeryLongAndRandomStringID";
Spreadsheet SpSheet = new Spreadsheet();
SpSheet.Properties = new SpreadsheetProperties();
SpSheet.SpreadsheetId = SpreadSheetID;
SpSheet.Properties.Title = "I HATE THIS SPREADSHEET";
Sheet MySheet = new Sheet();
MySheet.Properties = new SheetProperties();
MySheet.Properties.Title = "MySheet";
MySheet.Properties.SheetId = 34213312;
MySheet.Properties.SheetType = "GRID";
var SheetSet = new List<Sheet>();
SheetSet.Add(MySheet);
SpSheet.Sheets = SheetSet;
var MyNewSpreadSheet = service.Spreadsheets.Create(SpSheet).Execute();
谢谢!
小版本“var MyNewSpreadSheet”确实有效(我的最后一次尝试也确实如此)但是......我还没有意识到它是在 MY googleDrive中保存文档而不是我客户的帐户。
我想要完成的是创建一个应用程序,任何拥有Google帐户的人都可以在“存储库”帐户中创建或更改电子表格文档。
文件“client_secret.json”是从我客户的帐户生成的,我不知道为什么代码会在已记录的Gmail帐户上创建电子表格。
有什么想法吗? 谢谢!
答案 0 :(得分:0)
您可能想尝试使用以下格式发送HTTP请求:
POST https://sheets.googleapis.com/v4/spreadsheets
如Method: spreadsheets.create中所述,如果请求成功,则响应正文包含新创建的Spreadsheet实例。 另请注意,使用此方法需要使用以下OAuth范围:
https://www.googleapis.com/auth/drive
https://www.googleapis.com/auth/spreadsheets
此外,请尝试检查此documentation是否有帮助。它是关于使用C#的Sheets API。