【问题标题】:No Sort Order Specified未指定排序顺序
【发布时间】:2017-07-28 20:49:45
【问题描述】:

在执行使用 Google Sheets API 将工作表从 A 排序到 Z 的代码时,我收到一个我不知道如何修复的错误。

Message[Invalid requests[0].sortRange: 未指定排序顺序。] Location[ - ] Reason[badRequest] Domain[global]

使用这段代码,它应该已经创建了排序顺序和维度索引,并将其放入添加到 SortRange 的 SortSpec 中,但 Google Sheets 似乎无法识别。

    List<Data.Request> requests = new List<Data.Request>();  // TODO: Update placeholder value.

    Data.SortSpec so = new Data.SortSpec();
    so.SortOrder = "ASCENDING";

    Data.SortSpec di = new Data.SortSpec();
    di.DimensionIndex = 0;

    List<Data.SortSpec> ss = new List<Data.SortSpec>();
    ss.Add(so);
    ss.Add(di);

    var test = new Request()
    {
        SortRange = new SortRangeRequest()
        {
            Range = new GridRange()
            {
                SheetId = 0,
                StartRowIndex = 1
            },
            SortSpecs = ss
        }

    };

    requests.Add(test);

    // TODO: Assign values to desired properties of `requestBody`:
    Data.BatchUpdateSpreadsheetRequest requestBody = new Data.BatchUpdateSpreadsheetRequest();
    requestBody.Requests = requests;

    SpreadsheetsResource.BatchUpdateRequest request = service.Spreadsheets.BatchUpdate(requestBody, spreadsheetId);

    Data.BatchUpdateSpreadsheetResponse response = request.Execute();

使用 Visual Studio 中的调试,我查看了 Autos 以查看请求对 SortSpecs 有什么值,我发现这两个值都存在。

-       [0] {Google.Apis.Sheets.v4.Data.SortSpec}   Google.Apis.Sheets.v4.Data.SortSpec
    DimensionIndex  null    int?
    ETag    null    string
    SortOrder   "ASCENDING" string
-       [1] {Google.Apis.Sheets.v4.Data.SortSpec}   Google.Apis.Sheets.v4.Data.SortSpec
    DimensionIndex  0   int?
    ETag    null    string
    SortOrder   null    string

【问题讨论】:

    标签: c# google-sheets google-spreadsheet-api google-sheets-api


    【解决方案1】:

    答案很简单。您必须为同一个变量定义维度索引和排序顺序,而不是在列表中创建单独的排序规范

    Data.SortSpec so = new Data.SortSpec();
    so.SortOrder = "ASCENDING";
    so.DimensionIndex = 0;
    
    List<Data.SortSpec> ss = new List<Data.SortSpec>();
    ss.Add(so);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-24
      • 2017-05-10
      • 2015-09-18
      相关资源
      最近更新 更多