Google Sheet API-C#中需要BatchUpdate函数帮助

问题描述

我在Google Sheet api的batchupdate函数中需要一些帮助。当前,在我的项目中,我正在做一些处理,并调用我的createEntry函数,以便使用如下所示的append函数将味精添加到gsheet上的特定单元格中。我意识到每次调用都会增加我的API调用请求配额,Google api也会停止运行,因此程序也随之停止。

要解决此问题,我想我将数据存储在2D数组中,并使用batchUpdate更新所有oneshot到最后,以避免超过每100秒和Google API设置的每个用户的用户请求数。

我的问题是:

  1. 在使用batchupdate解决用户对Google API问题的请求时,我的逻辑是否正确(请记住,我稍后可能会在6列中添加数千个数据)?

    PS:我已经尝试过每插入20次左右线程使线程进入睡眠状态20秒钟,但这不能解决问题,因为它是不可预测的。有时我最多可以存储400个单元格的数据,有时它只能停在70个位置。

  2. 如果是,我如何批量更新在一系列单元格中插入各种数据点?

我当前正在使用的代码是-

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数据点示例以供参考-

sample sheet data

截至目前,从上面的代码中可以看到,我正在分别编写每个单元格。我现在想添加所有oneshot以避免Google超过每100秒的用户请求数。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...