需要授权
请求
HTTP 请求
POST https://www.googleapis.com/analytics/v3/management/accounts/accountId/filters
参数
参数名称 | 值 | 说明 |
---|---|---|
路径参数 | ||
accountId |
string |
要为其创建过滤器的帐户 ID。 |
授权
此请求需要获得下列范围的授权(详细了解身份验证和授权)。
范围 |
---|
https://www.googleapis.com/auth/analytics.edit |
请求正文
在请求正文中提供一个具有以下属性的 management.filter 资源。
属性名称 | 值 | 说明 | 备注 |
---|---|---|---|
必需属性 | |||
name |
string |
此过滤器的名称。 | 可写入 |
type |
string |
此过滤器的类型。可能的值包括 INCLUDE、EXCLUDE、LOWERCASE、UPPERCASE、SEARCH_AND_REPLACE 和 ADVANCED。 | 可写入 |
可选属性 | |||
advancedDetails.caseSensitive |
boolean |
指明过滤器表达式是否区分大小写。 | 可写入 |
advancedDetails.extractA |
string |
要从字段 A 中提取的表达式。 | 可写入 |
advancedDetails.extractB |
string |
要从字段 B 中提取的表达式。 | 可写入 |
advancedDetails.fieldA |
string |
字段 A。 | 可写入 |
advancedDetails.fieldAIndex |
integer |
自定义维度的索引。在字段为 CUSTOM_DIMENSION 时必须提供。 | 可写入 |
advancedDetails.fieldARequired |
boolean |
指明是否必须匹配字段 A。 | 可写入 |
advancedDetails.fieldB |
string |
字段 B。 | 可写入 |
advancedDetails.fieldBIndex |
integer |
自定义维度的索引。在字段为 CUSTOM_DIMENSION 时必须提供。 | 可写入 |
advancedDetails.fieldBRequired |
boolean |
指明是否必须匹配字段 B。 | 可写入 |
advancedDetails.outputConstructor |
string |
用于构造输出值的表达式。 | 可写入 |
advancedDetails.outputToField |
string |
输出字段。 | 可写入 |
advancedDetails.outputToFieldIndex |
integer |
自定义维度的索引。在字段为 CUSTOM_DIMENSION 时必须提供。 | 可写入 |
advancedDetails.overrideOutputField |
boolean |
指明是否应该用输出表达式覆盖输出字段的现有值。 | 可写入 |
excludeDetails.caseSensitive |
boolean |
确定过滤器是否区分大小写。 | 可写入 |
excludeDetails.expressionValue |
string |
过滤器表达式的值 | 可写入 |
excludeDetails.field |
string |
要放入过滤器中的字段。可能的值有:
|
可写入 |
excludeDetails.fieldIndex |
integer |
自定义维度的索引。仅在字段为 CUSTOM_DIMENSION 时设置。 | 可写入 |
excludeDetails.matchType |
string |
此过滤器的匹配类型。可能的值有 BEGINS_WITH 、EQUAL 、ENDS_WITH 、CONTAINS 或 MATCHES 。GEO_DOMAIN 、GEO_IP_ADDRESS 、PAGE_REQUEST_URI 或 PAGE_HOSTNAME 过滤器可以使用任何匹配类型,所有其他过滤器必须使用 MATCHES 。 |
可写入 |
includeDetails.caseSensitive |
boolean |
确定过滤器是否区分大小写。 | 可写入 |
includeDetails.expressionValue |
string |
过滤器表达式的值 | 可写入 |
includeDetails.field |
string |
要放入过滤器中的字段。可能的值有:
|
可写入 |
includeDetails.fieldIndex |
integer |
自定义维度的索引。仅在字段为 CUSTOM_DIMENSION 时设置。 | 可写入 |
includeDetails.matchType |
string |
此过滤器的匹配类型。可能的值有 BEGINS_WITH 、EQUAL 、ENDS_WITH 、CONTAINS 或 MATCHES 。GEO_DOMAIN 、GEO_IP_ADDRESS 、PAGE_REQUEST_URI 或 PAGE_HOSTNAME 过滤器可以使用任何匹配类型,所有其他过滤器必须使用 MATCHES 。 |
可写入 |
lowercaseDetails.field |
string |
要在过滤器中使用的字段。 | 可写入 |
lowercaseDetails.fieldIndex |
integer |
自定义维度的索引。在字段为 CUSTOM_DIMENSION 时必须提供。 | 可写入 |
searchAndReplaceDetails.caseSensitive |
boolean |
确定过滤器是否区分大小写。 | 可写入 |
searchAndReplaceDetails.field |
string |
要在过滤器中使用的字段。 | 可写入 |
searchAndReplaceDetails.fieldIndex |
integer |
自定义维度的索引。在字段为 CUSTOM_DIMENSION 时必须提供。 | 可写入 |
searchAndReplaceDetails.replaceString |
string |
要用来替换搜索字词的字词。 | 可写入 |
searchAndReplaceDetails.searchString |
string |
要搜索的字词。 | 可写入 |
uppercaseDetails.field |
string |
要在过滤器中使用的字段。 | 可写入 |
uppercaseDetails.fieldIndex |
integer |
自定义维度的索引。在字段为 CUSTOM_DIMENSION 时必须提供。 | 可写入 |
响应
如果成功,此方法将在响应正文中返回一个 management.filter 资源。
示例
备注:此方法的代码示例并未列出所有受支持的编程语言(请参阅客户端库页面,查看受支持的语言列表)。
Java
使用 Java 客户端库。
/* * Note: This code assumes you have an authorized Analytics service object. * See the Filters Developer Guide for details. */ /* * This example creates a new filter. */ // Construct the filter Expression object. AnalyticsManagementFiltersFilterExpression details = new AnalyticsManagementFiltersFilterExpression(); details.setField("GEO_DOMAIN"); details.setMatchType("EQUAL"); details.setExpressionValue("example.com"); details.setCaseSensitive(false); // Construct the body of the request. Filter body = new Filter(); body.setName("My Domain Filter"); body.setType("EXCLUDE"); body.setExcludeDetails(details); try { analytics.management().filters().insert("123456", body).execute(); } catch (GoogleJsonResponseException e) { System.err.println("There was a service error: " + e.getDetails().getCode() + " : " + e.getDetails().getMessage()); }
PHP
使用 PHP 客户端库。
/** * Note: This code assumes you have an authorized Analytics service object. * See the Filters Developer Guide for details. */ /** * This request creates a new filter. */ try { // Construct the filter expression object. $details = new Google_Service_Analytics_FilterExpression(); $details->setField("GEO_DOMAIN"); $details->setMatchType("EQUAL"); $details->setExpressionValue("example.com"); $details->setCaseSensitive(false); // Construct the filter and set the details. $filter = new Google_Service_Analytics_Filter(); $filter->setName("My Domain Filter"); $filter->setType("EXCLUDE"); $filter->setExcludeDetails($details); $analytics->management_filters->insert('123456', $filter); } catch (apiServiceException $e) { print 'There was an Analytics API service error ' . $e->getCode() . ':' . $e->getMessage(); } catch (apiException $e) { print 'There was a general API error ' . $e->getCode() . ':' . $e->getMessage(); }
Python
使用 Python 客户端库。
# Note: This code assumes you have an authorized Analytics service object. # See the Filters Developer Guide for details. # This request creates a new filter. try: analytics.management().filters().insert( accountId='123456', body={ 'name': 'My Domain Filter', 'type': 'EXCLUDE', 'excludeDetails': { 'field': 'GEO_DOMAIN', 'matchType': 'EQUAL', 'expressionValue': 'example.com', 'caseSensitive': False } } ).execute() except TypeError, error: # Handle errors in constructing a query. print 'There was an error in constructing your query : %s' % error except HttpError, error: # Handle API errors. print ('There was an API error : %s : %s' % (error.resp.status, error.resp.reason))
JavaScript
使用 JavaScript 客户端库。
/* * Note: This code assumes you have an authorized Analytics client object. * See the Filters Developer Guide for details. */ /* * This request creates a new filter. */ function insertFilter() { var request = gapi.client.analytics.management.filters.insert( { 'accountId': '123456', 'resource': { 'name': 'My Domain Filter', 'type': 'EXCLUDE', 'excludeDetails': { 'field': 'GEO_DOMAIN', 'matchType': 'EQUAL', 'expressionValue': 'example.com', 'caseSensitive': false } } }); request.execute(function (response) { // Handle the response. }); }
试试看!
请使用下面的 API Explorer 针对实时数据调用此方法并查看响应。或者,您还可以尝试使用独立的 Explorer。