Google Analytics API - 按名称检索自定义细分 ID
Google Analytics API - retrieve Custom Segment Id by its name
使用 Google Analytics API 检索 20 多个配置文件的数据,因此我可以将所有这些数据组合成一组数据进行分析。 (单独的配置文件用于具有相同内容的不同域)
我在每个配置文件上使用自定义细分来删除推荐垃圾邮件。我为自定义细分指定了相同的名称,例如 'referrer spam'。
所以我想在使用 API 检索记录时使用这些自定义细分。但是已经运行 进入了挑战。
我想我可以遍历这些段并通过自定义段名称获取每个配置文件的 ID,例如 'referrer spam'。我做的第一件事是遍历 Segments 看看它会给我什么。所以我做了以下事情:
# Authenticate and construct service.
service = get_service('analytics', 'v3', scope, key_file_location,
service_account_email)
segments = service.management().segments().list().execute()
for segment in segments.get('items', []):
print 'Segment ID ' + segment.get('id') + " - " + segment.get('name')
但这不会检索自定义细分,只会检索 'standard' Google 细分,例如:
Segment ID -1 - All Sessions
Segment ID -2 - New Users
Segment ID -3 - Returning Users
Segment ID -4 - Paid Traffic
Segment ID -5 - Organic Traffic
Segment ID -6 - Search Traffic
Segment ID -7 - Direct Traffic
Segment ID -8 - Referral Traffic
Segment ID -9 - Sessions with Conversions
Segment ID -10 - Sessions with Transactions
etc etc
看来我无法访问自定义细分。
我认为这与我使用的服务帐户无权访问自定义细分有关吗?
我已授予 API 生成的开发人员 gmail address/user 对所有配置文件的读取权限。我想这不足以获得自定义细分。
我错过了什么吗?有没有办法使用服务帐户获取自定义细分?我是否需要使用服务帐户以外的其他方式进行身份验证?
答案是 Analytics 核心报告 API 无权访问自定义细分。它们只能由此处引用的分析管理 API 访问:
检索用户的自定义细分以将其应用于核心报告 API 查询。
https://developers.google.com/analytics/devguides/config/mgmt/v3/
看来我必须先调用 Analytics Management API 来获取我想要的自定义细分列表,然后在 Analytics Core Reporting API 调用中使用该列表来获取仅这些细分市场的数据。
https://developers.google.com/analytics/devguides/reporting/core/v3/reference#segment
或者,我可以忘记使用自定义细分,而是在 Analytics Core Reporting API 调用数据中检索会话主机名和来源,这样我就可以在查询或报告中执行与自定义相同的过滤器分割。缺点是推荐垃圾邮件大约占 Google 分析数据的 80% 以上,因此我会定期检索比我需要的更多的数据。
我找到了一种从 api 获取自定义细分详细信息的简单方法。
首先,您需要拥有用户管理权限,管理员可能很容易做到这一点。
Manage Segments#Set Segment availability
- 访问此 link 并转到其中的 'Set Segment availability' 部分。
- 应用 'Collaborate permission' 选项,如 link 中所示。
申请许可后,只需从您的服务帐户和 api 运行 您在问题中提到的相同代码或按照下面的 link 代码列出所有细分详细信息.
这次您将能够获得自定义细分 ID。自过去 3-4 天以来,我一直在尝试获取自定义细分详细信息。希望对你有帮助。
使用 Google Analytics API 检索 20 多个配置文件的数据,因此我可以将所有这些数据组合成一组数据进行分析。 (单独的配置文件用于具有相同内容的不同域)
我在每个配置文件上使用自定义细分来删除推荐垃圾邮件。我为自定义细分指定了相同的名称,例如 'referrer spam'。
所以我想在使用 API 检索记录时使用这些自定义细分。但是已经运行 进入了挑战。
我想我可以遍历这些段并通过自定义段名称获取每个配置文件的 ID,例如 'referrer spam'。我做的第一件事是遍历 Segments 看看它会给我什么。所以我做了以下事情:
# Authenticate and construct service.
service = get_service('analytics', 'v3', scope, key_file_location,
service_account_email)
segments = service.management().segments().list().execute()
for segment in segments.get('items', []):
print 'Segment ID ' + segment.get('id') + " - " + segment.get('name')
但这不会检索自定义细分,只会检索 'standard' Google 细分,例如:
Segment ID -1 - All Sessions
Segment ID -2 - New Users
Segment ID -3 - Returning Users
Segment ID -4 - Paid Traffic
Segment ID -5 - Organic Traffic
Segment ID -6 - Search Traffic
Segment ID -7 - Direct Traffic
Segment ID -8 - Referral Traffic
Segment ID -9 - Sessions with Conversions
Segment ID -10 - Sessions with Transactions
etc etc
看来我无法访问自定义细分。
我认为这与我使用的服务帐户无权访问自定义细分有关吗?
我已授予 API 生成的开发人员 gmail address/user 对所有配置文件的读取权限。我想这不足以获得自定义细分。
我错过了什么吗?有没有办法使用服务帐户获取自定义细分?我是否需要使用服务帐户以外的其他方式进行身份验证?
答案是 Analytics 核心报告 API 无权访问自定义细分。它们只能由此处引用的分析管理 API 访问:
检索用户的自定义细分以将其应用于核心报告 API 查询。 https://developers.google.com/analytics/devguides/config/mgmt/v3/
看来我必须先调用 Analytics Management API 来获取我想要的自定义细分列表,然后在 Analytics Core Reporting API 调用中使用该列表来获取仅这些细分市场的数据。
https://developers.google.com/analytics/devguides/reporting/core/v3/reference#segment
或者,我可以忘记使用自定义细分,而是在 Analytics Core Reporting API 调用数据中检索会话主机名和来源,这样我就可以在查询或报告中执行与自定义相同的过滤器分割。缺点是推荐垃圾邮件大约占 Google 分析数据的 80% 以上,因此我会定期检索比我需要的更多的数据。
我找到了一种从 api 获取自定义细分详细信息的简单方法。
首先,您需要拥有用户管理权限,管理员可能很容易做到这一点。
Manage Segments#Set Segment availability
- 访问此 link 并转到其中的 'Set Segment availability' 部分。
- 应用 'Collaborate permission' 选项,如 link 中所示。
申请许可后,只需从您的服务帐户和 api 运行 您在问题中提到的相同代码或按照下面的 link 代码列出所有细分详细信息.
这次您将能够获得自定义细分 ID。自过去 3-4 天以来,我一直在尝试获取自定义细分详细信息。希望对你有帮助。