Google 工作区报告 API - 客户使用指标 - 获取所有 Gmail 参数

Google Workspace Reports API - Customer Usage Metrics - Get All Gmail Parameters

我正在使用 Google 工作区报告 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:*'都没有用。

是否有 shorthand 用于提取与 GMail 相关的所有客户使用指标,或者您是否必须单独传递每个参数?

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

  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)

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

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

输出: