【问题标题】:Google Workspace Reports API - Customer Usage Metrics - Get All Gmail ParametersGoogle Workspace Reports API - 客户使用指标 - 获取所有 Gmail 参数
【发布时间】:2021-09-13 20:42:18
【问题描述】:

我正在使用 Google Workspace Reports API 通过 Python 客户端提取 GMail 的客户使用情况指标。我想提取所有参数,但不想单独列出每个参数(即:service.customerUsageReports().get(date=temp, parameters='gmail:num_1day_active_users,gmail:num_30day_active_users,gmail:num_emails_received').execute()

我尝试了parameters='gmail'parameters='gmail:*' 无济于事。

是否有一种简写方式来提取与 GMail 相关的所有客户使用指标,还是必须单独传递每个参数?

【问题讨论】:

    标签: python google-cloud-platform google-admin-sdk google-api-python-client


    【解决方案1】:

    我不认为你可以。但是如果你喜欢自动化并且在多个调用中有不同的参数,你可以执行以下步骤:

    1. 将所有可能的参数存储在一个数组中。
    2. 使用正则表达式过滤数组。
    3. 通过逗号将所有过滤后的元素附加到字符串中
    4. 将字符串作为参数传递

    代码:

    import re
    
    parameters = [
        'accounts:num_30day_logins',
        'accounts:num_7day_logins',
        'accounts:num_1day_logins',
        'accounts:num_disabled_accounts', 
        'accounts:apps_total_licenses',
        'accounts:apps_used_licenses',
        'accounts:num_users_2sv_enrolled',
        'gmail:num_emails_received',
        'gmail:num_inbound_spam_emails',
        'gmail:num_inbound_non_spam_emails',
        'gmail:num_inbound_delivered_emails',
        'gmail:num_emails_sent',
        'gmail:num_inbound_rejected_emails',
        'gmail:num_inbound_rerouted_emails',
        'gplus:num_video_calls',
        'gplus:num_video_conferences',
        'gplus:num_video_conferences_cfm',
        'gplus:total_video_call_minutes',
        'docs:num_docs']
    
    separator = ','
    r_gmail = re.compile("gmail.*")
    r_accounts = re.compile("accounts.*")
    gmail_list = list(filter(r_gmail.match, parameters))
    accounts_list = list(filter(r_accounts.match, parameters))
    gmail_parameters = separator.join(gmail_list) 
    accounts_parameters = separator.join(accounts_list) 
    
    # contains gmail parameters
    print(gmail_parameters)
    # contains accounts parameters
    print(accounts_parameters)
    

    希望您对上述代码有所了解。当您的脚本变得很大并且有很多参数来来去去时,这将很有帮助。

    这样,您无需维护大量长长的参数列表。只有一个,您只需要创建一个正则表达式即可按照您喜欢的方式对其进行过滤。

    输出:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-02-12
      • 2013-11-25
      • 2020-01-04
      • 1970-01-01
      • 1970-01-01
      • 2023-01-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多