如何等待GAS自定义功能完成然后继续使用谷歌工作表api?

时间:2018-02-20 09:03:51

标签: google-apps-script google-sheets-api

我正在使用 Google表格api 创建一个包含多个工作表的电子表格,所有这些工作表都具有自定义功能,该工作表使用 Google App Script 。此函数从我的服务器获取数据,通常至少有25个函数调用。

现在,我想在所有自定义功能正确完成后使用google sheet api下载该文件。

如何等待所有自定义功能 完成,然后继续我的Google工作表api通话?

1 个答案:

答案 0 :(得分:0)

如果其他人仍在寻找答案,我发现了一种可能并不理想的方法,但它可行。

def check_if_ready(spreadsheet_id):
    no_of_retry = 5
    response = service.spreadsheets().get(spreadsheetId=spreadsheet_id,fields='sheets(data.rowData.values(effectiveValue))').execute()
    i = 1
    while 'errorValue' in str(response):
        if i > no_of_retry:
            return Response({'message': 'Error!'}, status=status.HTTP_404_NOT_FOUND)
        response = service.spreadsheets().get(spreadsheetId=spreadsheet_id,fields='sheets(data.rowData.values(effectiveValue))').execute()
        time.sleep(5)
        i += 1

因为将为自定义函数返回 errorValue ,该函数未正确计算或在API调用时仍在计算。