如何解决Google Sheet API-C#中需要BatchUpdate函数帮助
我在Google Sheet api的batchupdate函数中需要一些帮助。当前,在我的项目中,我正在做一些处理,并调用我的createEntry函数,以便使用如下所示的append函数将味精添加到gsheet上的特定单元格中。我意识到每次调用都会增加我的API调用请求配额,Google api也会停止运行,因此程序也随之停止。
要解决此问题,我想我将数据存储在2D数组中,并使用batchUpdate更新所有oneshot到最后,以避免超过每100秒和Google API设置的每个用户的用户请求数。
我的问题是:
-
在使用batchupdate解决用户对Google API问题的请求时,我的逻辑是否正确(请记住,我稍后可能会在6列中添加数千个数据)?
PS:我已经尝试过每插入20次左右线程使线程进入睡眠状态20秒钟,但这不能解决问题,因为它是不可预测的。有时我最多可以存储400个单元格的数据,有时它只能停在70个位置。
-
如果是,我如何批量更新在一系列单元格中插入各种数据点?
我当前正在使用的代码是-
public void CreateEntry(string col,int ctw,string msg)
{
var range = $"{sheet}!" + col.ToString() + ctw.ToString();
var valueRange = new ValueRange();
var oblist = new List<object>() { };
oblist.Add(msg);
valueRange.Values = new List<IList<object>> { oblist };
var appendRequest = service.Spreadsheets.Values.Append(valueRange,SpreadsheetId,range);
appendRequest.ValueInputOption = SpreadsheetsResource.ValuesResource.AppendRequest.ValueInputOptionEnum.USERENTERED;
var appendReponse = appendRequest.Execute();
}
一个简单的gsheet数据点示例以供参考-
截至目前,从上面的代码中可以看到,我正在分别编写每个单元格。我现在想添加所有oneshot以避免Google超过每100秒的用户请求数。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。