如何使用 google Sheets api v4 重命名工作表?

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]

Jul*_*lio 6

我发现了问题,问题是我使用了错误的类,使用 UpdateSpreadsheetProperties 而不是 UpdateSheetPropertiesRequest

        var request = new Request()
        {
            UpdateSheetProperties =new UpdateSheetPropertiesRequest {
            Properties=new SheetProperties()
            {
                Title=newName,
                SheetId=sheetId

            },
                Fields = "Title"
            }


        };
Run Code Online (Sandbox Code Playgroud)