batchUpdate未发送

时间:2016-11-26 00:34:26

标签: google-sheets google-api google-api-client google-sheets-api

我正在使用Google表格C#SDK客户端。我使用您在下面看到的SheetsService变量成功初始化并从电子表格中读取数据。

问题是我需要将一些数据保存到特定列。下面的方法接受记录,并且应该更新该记录行的列,但是没有写入任何内容。我还验证了在运行此方法时Fiddler中没有出现流量。

public static void Update(DataRecord record)
{
    var updateRequest = new BatchUpdateValuesRequest()
    {
        ValueInputOption = "RAW",
        Data = new List<ValueRange>()
        {
            new ValueRange()
            {
                Range = $"'Form Responses'!C{record.RowId}",
                Values = new List<IList<object>>()
                {
                    new List<object>()
                    {
                        record.TransactionNumber
                    }
                }
            },
            new ValueRange()
            {
                Range = $"'Form Responses'!G{record.RowId}:I{record.RowId}",
                Values = new List<IList<object>>()
                {
                    new List<object>()
                    {
                        record.Name,
                        record.DateOfBirth,
                        record.Address
                    }
                }
            }
        }
    };

    SheetsService.Spreadsheets.Values.BatchUpdate(updateRequest, SpreadsheetId);
}

我还验证了SheetService的范围设置为SheetsService.Scope.Spreadsheets,并仔细验证我是否拥有正确的电子表格ID,标签名称和单元格范围选择。

我错过了什么?为什么批量更新没有网络流量,但是有读取流量?没有错误。它只是完成并继续前进。

1 个答案:

答案 0 :(得分:2)

您错过了.Execute()来电。最后一行应为:

SheetsService.Spreadsheets.Values.BatchUpdate(updateRequest, SpreadsheetId).Execute();