0

我正在使用 Google Vault API(python 脚本)从 google 聊天中查询消息数据。我有大约 1800 封邮件,但是当我从第 1000 封邮件查询到第 1050 封邮件时,导出状态返回 FAILED,没有任何错误消息,也没有错误消息。然后当我从第 1050 到 1100 封邮件查询时,文件正常导出。

考虑到从1000到1050的邮件有一些异常,我试着从1000到1010,从1010到1020,……从1040到1050查询。但是这时候他们都工作了!

我需要建立一个系统来自动化这个过程,所以我不能像这样手动完成,而且每 10 封电子邮件查询非常耗时。因此,请帮助我找出问题所在,以便我可以一次查询所有 1800 封电子邮件而无需 FAIED 状态。

这是我的查询代码:

def create_mail_all_data_export(service, matter_id,start_date,end_date,name):
    df = pd.read_csv("data_users_2.csv")
    email_list = list(df["email"])
    email_str = ",".join(email_list)
    #print(email_str)
    """
    全社員のメールエクスポートを作成
    Args:
        service : v1 vaultでbuildされたサービス
        matter_id : vault案件id
        start_date : 検索開始日時
        end_date : 検索修了日時
        name : ファイル名接頭語
    """

    hangout_query_options = {"includeRooms": True}
    hangout_query = {
        'corpus': 'HANGOUTS_CHAT',
        'dataScope': 'ALL_DATA',
        'searchMethod': 'ACCOUNT',
        'accountInfo': {
            "emails": [email_list[1000:1050]]
            # "emails": [
            #     "ga4399hy@g.tdi.co.jp",
            #     "ga6351ob@g.tdi.co.jp"
            #     #email_list
            # ]
        },
        'timeZone':"Japan",
        "startTime":start_date,
        "endTime":end_date,
        'hangoutsChatOptions': hangout_query_options,
    }
    hangout_export_options = {
      'exportFormat': 'MBOX'
      }
    wanted_export = {
        'name': name,
        'query': hangout_query,
        'exportOptions': {
            'hangoutsChatOptions': hangout_export_options
            }
        }
    return service.matters().exports().create(
    matterId=matter_id, body=wanted_export).execute()
4

1 回答 1

0

您很可能遇到配额限制问题

检查您的配额并将其与您的使用情况进行比较。

为了这

在此处输入图像描述


  • 还有你的配额:

在此处输入图像描述


  • 如果您展开不同的类别,您还可以看到您当前的每分钟配额:

在此处输入图像描述

但是,如果您超过了每分钟的配额,最好的解决方案是修改您的代码,使其运行速度变慢。这样做的一个好方法是使用Exponential Backoff

注意:每分钟配额实际上可以在短时间内超出,但一旦超出,最长可能需要 24 小时才能建立。

于 2021-12-13T09:38:43.150 回答