C# 在GoogleSheets c中向单元格添加注释#

C# 在GoogleSheets c中向单元格添加注释#,c#,google-sheets-api,C#,Google Sheets Api,是否可以使用Google向单元格添加注释?API.Sheets.v4 这在python中似乎是可能的:但是我没有成功地将它复制到c#,描述了如何使用https调用添加它,但是如果可能的话,我更愿意使用google c#库而不是自己开始发送HTTP调用。 如果有人知道如何做,或者能为我指出一个可行的例子,那将是一个巨大的帮助 提前谢谢 利用拉法·吉列尔莫斯的建议,我让它起了作用 public async void AddNote(字符串表、int列、int行、int sheetId、字符串note

是否可以使用Google向单元格添加注释?API.Sheets.v4

这在python中似乎是可能的:但是我没有成功地将它复制到c#,描述了如何使用https调用添加它,但是如果可能的话,我更愿意使用google c#库而不是自己开始发送HTTP调用。 如果有人知道如何做,或者能为我指出一个可行的例子,那将是一个巨大的帮助

提前谢谢

利用拉法·吉列尔莫斯的建议,我让它起了作用

public async void AddNote(字符串表、int列、int行、int sheetId、字符串noteMessage)
{
等待任务。延迟(1);
var requests=新列表();
//单个单元格、结束列和行的网格范围必须为+1,否则,工作表在尝试写入外部边界时会抛出错误。
var gridRange=new Google.api.Sheets.v4.Data.gridRange
{
EndColumnIndex=列+1,StartColumnIndex=列,EndRowIndex=行+1,StartRowIndex=行,SheetId=SheetId
};
//生成更新单元格的请求。
var request=new Google.api.Sheets.v4.Data.request();
request.UpdateCells=new Google.api.Sheets.v4.Data.UpdateCellsRequest();
request.UpdateCells.Range=gridRange;
request.UpdateCells.Fields=“注意”;
request.UpdateCells.Rows=新列表();
request.UpdateCells.Rows.Add(新的Google.api.Sheets.v4.Data.RowData());
request.UpdateCells.Rows[0]。value=new List();
request.UpdateCells.Rows[0].Values.Add(新的Google.api.Sheets.v4.Data.CellData());
request.UpdateCells.Rows[0]。值[0]。Note=noteMessage;
请求。添加(请求);
var requestBody=new Google.api.Sheets.v4.Data.BatchUpdateSpreadsheetRequest();
requestBody.Requests=请求;
var service=_authenticatorService.GetSheetsService(新[]{SheetsService.Scope.Spreadsheets});
var batchRequest=service.Spreadsheets.BatchUpdate(requestBody,_spreadsheetId);
batchRequest.Execute();
}
_authenticatorService提供经过身份验证的工作表服务。

回答: 与python完全相同,您需要在C#中以批处理请求的方式构建注释

代码片段: 您需要按照如下列表构建数据请求:

List<Data.Request> requests = new List<Data.Request>();
在生成请求对象之前:

SpreadsheetsResource.BatchUpdateRequest request = sheetsService.Spreadsheets.BatchUpdate(requestBody, spreadsheetId);
并执行请求:

Data.BatchUpdateSpreadsheetResponse response = request.Execute();
更多信息: 您可以阅读关于
电子表格.batchUpdate
,页面底部有一个C#示例代码

可以找到请求资源的JSON表示,其结构与

我希望这对你有帮助

参考资料:

感谢您的快速回复:)您在代码中的何处添加注释?我使用api v4,您是否使用另一个版本,允许您向ValueRange添加注释?你的价值观是什么?它是一个字符串,所以如果知道您使用了什么,那就太好了。您需要按照请求文档中所需的结构,以相同的形式发出请求。你看过我提供的链接了吗?Google提供的.NET示例可以很好地引导您完成整个过程。在您发送解决方案之前和之后,我都阅读了这些示例。使用Data.batchUpdateValuesRequestBody=新数据。BatchUpdateValuesRequest();在您的答复中,它是指新的BatchUpdateSpreadsheetRequest()?sheetsService.Spreadsheets.BatchUpdate不接受前者。如果不是,您打算使用.Spreadsheets.Values.BatchUpdate,那么您使用的ValueInput选项是什么?您是对的,很抱歉,我粘贴了错误的行。我现在已经修好了。您需要使用
列表构建
请求
。添加
,添加的每个对象都是一个。感谢您的帮助,使其正常工作。由于这是我的第一篇帖子,因此无法对您的解决方案进行投票,但我将使用该解决方案更新问题,并希望其他人能够使用该解决方案并对您的回答进行投票。如果用户向您提供有关stackoverflow的有用答案,正确的步骤是标记该答案(✓) 这将有助于其他有类似问题的人了解他们应该遵循哪些步骤来找到解决方案。
Data.BatchUpdateSpreadsheetResponse response = request.Execute();