Requires authorization
List custom data sources to which the user has access. Try it now or see an example.
In addition to the standard parameters, this method supports the parameters listed in the parameters table.
Request
HTTP request
GET https://www.googleapis.com/analytics/v3/management/accounts/accountId/webproperties/webPropertyId/customDataSources
Parameters
Parameter name | Value | Description |
---|---|---|
Path parameters | ||
accountId |
string |
Account Id for the custom data sources to retrieve. |
webPropertyId |
string |
Web property Id for the custom data sources to retrieve. |
Optional query parameters | ||
max-results |
integer |
The maximum number of custom data sources to include in this response. |
start-index |
integer |
A 1-based index of the first custom data source to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter. |
Authorization
This request requires authorization with at least one of the following scopes (read more about authentication and authorization).
Scope |
---|
https://www.googleapis.com/auth/analytics |
https://www.googleapis.com/auth/analytics.edit |
https://www.googleapis.com/auth/analytics.readonly |
Request body
Do not supply a request body with this method.
Response
If successful, this method returns a response body with the following structure:
{ "kind": "analytics#customDataSources", "username": string, "totalResults": integer, "startIndex": integer, "itemsPerPage": integer, "previousLink": string, "nextLink": string, "items": [ management.customDataSources Resource ] }
Property name | Value | Description | Notes |
---|---|---|---|
kind |
string |
Collection type. | |
username |
string |
Email ID of the authenticated user | |
totalResults |
integer |
The total number of results for the query, regardless of the number of results in the response. | |
startIndex |
integer |
The starting index of the resources, which is 1 by default or otherwise specified by the start-index query parameter. | |
itemsPerPage |
integer |
The maximum number of resources the response can contain, regardless of the actual number of resources returned. Its value ranges from 1 to 1000 with a value of 1000 by default, or otherwise specified by the max-results query parameter. | |
previousLink |
string |
Link to previous page for this custom data source collection. | |
nextLink |
string |
Link to next page for this custom data source collection. | |
items[] |
list |
Collection of custom data sources. |
Examples
Note: The code examples available for this method do not represent all supported programming languages (see the client libraries page for a list of supported languages).
Java
Uses the Java client library.
/* * 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
Uses the PHP client library.
/** * 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
Uses the Python client library.
# 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
Uses the JavaScript client library.
/* * 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); } } } } }
Try it!
Use the APIs Explorer below to call this method on live data and see the response. Alternatively, try the standalone Explorer.