需要授權
除了標準參數外,這個方法也支援參數表中列出的參數。
要求
HTTP 要求
GET https://www.googleapis.com/analytics/v3/management/accounts/accountId/webproperties/webPropertyId/customDataSources
參數
參數名稱 | 值 | 說明 |
---|---|---|
路徑參數 | ||
accountId |
string |
要擷取的自訂資料來源帳戶 ID。 |
webPropertyId |
string |
要擷取的自訂資料來源網站資源 ID。 |
自選查詢參數 | ||
max-results |
integer |
要在這項回應中加入的自訂資料來源數量上限。 |
start-index |
integer |
要擷取的第一個自訂資料來源以 1 為基礎的索引。將此參數與 max-results 參數搭配使用。 |
授權
這項要求至少需要以下其中一個範圍的授權 (進一步瞭解驗證和授權)。
範圍 |
---|
https://www.googleapis.com/auth/analytics |
https://www.googleapis.com/auth/analytics.edit |
https://www.googleapis.com/auth/analytics.readonly |
要求主體
請勿使用這個方法提供要求主體。
回應
如果成功的話,這個方法會傳回回應內文,其結構如下:
{ "kind": "analytics#customDataSources", "username": string, "totalResults": integer, "startIndex": integer, "itemsPerPage": integer, "previousLink": string, "nextLink": string, "items": [ management.customDataSources Resource ] }
屬性名稱 | 值 | 說明 | 附註 |
---|---|---|---|
kind |
string |
系列作品類型。 | |
username |
string |
已驗證使用者的電子郵件 ID | |
totalResults |
integer |
查詢的結果總數,不受回應中的結果數量影響。 | |
startIndex |
integer |
資源的起始索引 (預設為 1),或由 start-index 查詢參數指定。 | |
itemsPerPage |
integer |
回應可包含的資源數量上限,不受實際傳回的資源數量影響。其值的範圍介於 1 到 1000 之間,其值為 1000,或是由 max-results 查詢參數指定。 | |
previousLink |
string |
連結至這項自訂資料來源收集作業的上一頁。 | |
nextLink |
string |
連結至這個自訂資料來源收集作業的下一頁。 | |
items[] |
list |
自訂資料來源的集合。 |
範例
注意:這個方法適用的程式語言眾多,我們只在此提供部分程式碼範例,完整的支援語言清單請參閱用戶端程式庫頁面。
Java
使用 Java 用戶端程式庫。
/* * Note: this code assumes you have an authorized Analytics service object. * See the Data Import Developer Guide for details. */ /* * Example #1: * Requests a list of all customDataSources for the authorized user. */ try { CustomDataSources sources = analytics.management(). customDataSources().list("123456", "UA-123456-1").execute(); } catch (GoogleJsonResponseException e) { System.err.println("There was a service error: " + e.getDetails().getCode() + " : " + e.getDetails().getMessage()); } /* * Example 2: * The results of the list method are stored in the sources object. * The following code shows how to iterate through them. */ for (CustomDataSource source : sources.getItems()) { System.out.println("Account Id = " + source.getAccountId()); System.out.println("Property Id = " + source.getWebPropertyId()); System.out.println("Custom Data Source Id = " + source.getId()); System.out.println("Custom Data Source Kind = " + source.getKind()); System.out.println("Custom Data Source Type = " + source.getType()); System.out.println("Custom Data Source Name = " + source.getName()); System.out.println("Custom Data Source Description = " + source.getDescription()); System.out.println("Custom Data Source Upload Type = " + source.getUploadType()); System.out.println("\n"); }
PHP
使用 PHP 用戶端程式庫。
/** * Note: this code assumes you have an authorized Analytics service object. * See the Data Import Developer Guide for details. */ /** * Example #1: * Requests a list of all data sets for the authorized user. */ try { $dataSets = $analytics->management_customDataSources ->listManagementCustomDataSources('123456', 'UA-123456-1'); } 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(); } /** * Example 2: * The results of the list method are stored in the dataSets object. * The following code shows how to iterate through them. */ foreach ($dataSets->getItems() as $dataSet) { $html = <<<HTML <pre> Account id = {$dataSet->getAccountId()} Property id = {$dataSet->getWebPropertyId()} Data set id = {$dataSet->getId()} Data set kind = {$dataSet->getKind()} Data set type = {$dataSet->getType()} Data set name = {$dataSet->getName()} Data set description = {$dataSet->getDescription()} Data set upload type = {$dataSet->getUploadType()} </pre> HTML; print $html; }
Python
使用 Python 用戶端程式庫。
# Note: This code assumes you have an authorized Analytics service object. # See the Custom Data Source Developer Guide for details. # Example #1: # Requests a list of all customDataSources for the authorized user. try: custom_data_sources = analytics.management().customDataSources().list( accountId='123456', webPropertyId='UA-123456-1', ).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)) # Example #2: # The results of the list method are stored in the custom_data_sources object. # The following code shows how to iterate through them. for custom_data_source in custom_data_sources.get('items', []): print 'Account ID = %s' % custom_data_source.get('accountId') print 'Property ID = %s' % custom_data_source.get('webPropertyId') print 'Custom Data Source ID = %s' % custom_data_source.get('id') print 'Custom Data Source Kind = %s' % custom_data_source.get('kind') print 'Custom Data Source Type = %s' % custom_data_source.get('type') print 'Custom Data Source Name = %s' % custom_data_source.get('name') print 'Custom Data Source Description = %s' % custom_data_source.get('description') print 'Custom Data Source uploadType = %s' % custom_data_source.get('uploadType') print 'Linked Views (Profiles):' for profile in custom_data_source.get('profilesLinked', []): print ' View (Profile) ID = %s' % profile print 'Created = %s' % custom_data_source.get('created') print 'Updated = %s\n' % custom_data_source.get('updated')
JavaScript
/* * Note: This code assumes you have an authorized Analytics client object. * See the Data Import Developer Guide for details. */ /* * Example 1: * Requests a list of all data sets for the authorized user. */ function listCustomDataSources() { var request = gapi.client.analytics.management.customDataSources.list({ 'accountId': '123456', 'webPropertyId': 'UA-123456-1' }); request.execute(printCustomDataSources); } /* * Example 2: * The results of the list method are passed as the results object. * The following code shows how to iterate through them. */ function printCustomDataSources(results) { if (results && !results.error) { var datasets = results.items; for (var i = 0, dataset; dataset = datasets[i]; i++) { console.log('Account Id: ' + dataset.accountId); console.log('Property Id: ' + dataset.webPropertyId); console.log('Dataset Id: ' + dataset.id); console.log('Dataset Kind: ' + dataset.kind); console.log('Dataset Name: ' + dataset.name); console.log('Dataset Description: ' + dataset.description); console.log('Dataset uploadType: ' + dataset.uploadType); // Iterate through the linked views (profiles). var profiles = dataset.profilesLinked; if (profiles) { for (var j = 0, profile; profile = profiles[j]; j++) { console.log('Linked view (profile) Id: ' + profile); } } } } }
試試看!
您可以使用下方的 APIs Explorer,針對即時資料呼叫這個方法,然後查看回應。 或者,您也可以試試獨立的 Explorer。