Jul*_*lio 6 .net c# google-api-dotnet-client google-sheets-api
我有一个代码,其目的是重命名特定工作表,但是当执行 BatchUpdate 并且代码被破坏时,有人有任何想法吗?
public void UpdateSheetName(string sheetName,string newSheetName)
{
//get sheet id by sheet name
Spreadsheet spr = service.Spreadsheets.Get(SpreadsheetId).Execute();
Sheet sh = spr.Sheets.Where(s => s.Properties.Title == sheetName).FirstOrDefault();
int sheetId = (int)sh.Properties.SheetId;
BatchUpdateSpreadsheetRequest bussr = new BatchUpdateSpreadsheetRequest();
var request = new Request()
{
UpdateSpreadsheetProperties= new UpdateSpreadsheetPropertiesRequest(){
Properties=new SpreadsheetProperties()
{
Title= newSheetName,
},
Fields ="title"
}
};
bussr.Requests = new List<Request>();
bussr.Requests.Add(request);
var bur = service.Spreadsheets.BatchUpdate(bussr, SpreadsheetId);
bur.Execute();
}
Run Code Online (Sandbox Code Playgroud)
错误消息:“requests[0]”(oneof)的值无效,oneof 字段“kind”已设置。无法设置“updateSpreadsheetProperties”[400]
我发现了问题,问题是我使用了错误的类,使用 UpdateSpreadsheetProperties 而不是 UpdateSheetPropertiesRequest
var request = new Request()
{
UpdateSheetProperties =new UpdateSheetPropertiesRequest {
Properties=new SheetProperties()
{
Title=newName,
SheetId=sheetId
},
Fields = "Title"
}
};
Run Code Online (Sandbox Code Playgroud)