Custom Data Sources: list

需要授權

列出使用者有權存取的自訂資料來源。立即試用查看範例

除了標準參數外,這個方法也支援參數表中列出的參數。

要求

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 查詢參數指定。
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

使用 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