【问题标题】:How to rename sheet using google sheets api v4?如何使用 google sheet api v4 重命名工作表?
【发布时间】:2020-05-04 19:03:12
【问题描述】:

我有一个代码,它的目的是重命名一个特定的工作表,但是当执行 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();
    }

错误信息: 'requests[0]' (oneof) 处的值无效,oneof 字段 'kind' 已设置。无法设置“updateSpreadsheetProperties”[400]

【问题讨论】:

  • 你知道错误是在哪一行抛出的吗?
  • BatchUpdated 执行时

标签: c# .net google-sheets-api google-api-dotnet-client


【解决方案1】:

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

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

            },
                Fields = "Title"
            }


        };

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多