Take our developer survey. We want your feedback so we can learn how to improve Google Analytics, and make it an even better tool for you.

Webproperty User Links: list

Requires authorization

Lists webProperty-user links for a given web property. 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/entityUserLinks

Parameters

Parameter name Value Description
Path parameters
accountId string Account ID which the given web property belongs to.
webPropertyId string Web Property ID for the webProperty-user links to retrieve. Can either be a specific web property ID or '~all', which refers to all the web properties that user has access to.
Optional query parameters
max-results integer The maximum number of webProperty-user Links to include in this response.
start-index integer An index of the first webProperty-user link 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.manage.users
https://www.googleapis.com/auth/analytics.manage.users.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#entityUserLinks",
  "totalResults": integer,
  "startIndex": integer,
  "itemsPerPage": integer,
  "previousLink": string,
  "nextLink": string,
  "items": [
    management.webpropertyUserLinks Resource
  ]
}
Property name Value Description Notes
kind string Collection type.
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 entries, which is 1 by default or otherwise specified by the start-index query parameter.
itemsPerPage integer The maximum number of entries the response can contain, regardless of the actual number of entries returned. Its value ranges from 1 to 1000 with a value of 1000 by default, or otherwise specified by the max-results query parameter.
items[] list A list of entity user links.

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 User Permissions Developer Guide for details.
 */

/*
 * Example #1:
 * This request lists all Property User Links for the authorized user.
 */
try {
  EntityUserLinks propertyLinks = analytics.management().
      webPropertyUserLinks().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 propertyLinks object.
 * The following code shows how to iterate through them.
 */
for (EntityUserLink propertyUserLink : propertyLinks.getItems()) {
  Entity entity = propertyUserLink.getEntity();
  WebPropertyRef webPropertyRef = entity.getWebPropertyRef();
  UserRef userRef = propertyUserLink.getUserRef();
  Permissions permissions = propertyUserLink.getPermissions();

  System.out.println("Property User Link Id: " + propertyUserLink.getId());
  System.out.println("Property User Link kind: " + userRef.getKind());
  System.out.println("User Email: " + userRef.getEmail());
  System.out.println("Permissions effective: " + permissions.getEffective());
  System.out.println("Permissions local: " + permissions.getLocal());
  System.out.println("Property Id: " + webPropertyRef.getId());
  System.out.println("Property Kind: " + webPropertyRef.getKind());
  System.out.println("Property Name: " + webPropertyRef.getName());
}

PHP

Uses the PHP client library.

/**
* Note: This code assumes you have an authorized Analytics service object.
* See the User Permissions Developer Guide for details.
*/

/**
 * Example #1:
 * Requests a list of all property user links for the authorized user.
 */
try {
  $propertyUserlinks = $analytics->management_webpropertyUserLinks
      ->listManagementwebpropertyUserLinks('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 propertyUserlinks object.
 * The following code shows how to iterate through them.
 */
foreach ($propertyUserlinks->getItems() as $propertyUserLink) {
  $entity = $propertyUserLink->getEntity();
  $propertyeRef = $entity->getWebPropertyRef();
  $userRef = $propertyUserLink->getUserRef();
  $permissions = $propertyUserLink->getPermissions();

  $html = <<<HTML
<pre>
Property user link id   = {$propertyUserLink->getId()}
Property user link kind = {$propertyUserLink->getKind()}

Property id   = {$propertyeRef->getId()}
Property name = {$propertyeRef->getName()}
Property kind = {$propertyeRef->getKind()}

Permissions local     = {$permissions->getLocal()}
Permissions effective = {$permissions->getEffective()}

User id    = {$userRef->getId()}
User kind  = {$userRef->getKind()}
user email = {$userRef->getEmail()}
</pre>
HTML;
  print $html;
}

Python

Uses the Python client library.

# Note: This code assumes you have an authorized Analytics service object.
# See the User Permissions Developer Guide for details.

# Example #1:
# Requests a list of all property user links for the authorized user.
try:
  property_links = analytics.management().webpropertyUserLinks().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 property_links object.
# The following code shows how to iterate through them.
for propertyUserLink in property_links.get('items', []):
  entity = propertyUserLink.get('entity', {})
  propertyRef = entity.get('webPropertyRef', {})
  userRef = propertyUserLink.get('userRef', {})
  permissions = propertyUserLink.get('permissions', {})

  print 'Property User Link Id   = %s' % propertyUserLink.get('id')
  print 'Property User Link Kind = %s' % propertyUserLink.get('kind')
  print 'User Email              = %s' % userRef.get('email')
  print 'Permissions effective   = %s' % permissions.get('effective')
  print 'Permissions local       = %s' % permissions.get('local')
  print 'Property Id             = %s' % propertyRef.get('id')
  print 'Property kind           = %s' % propertyRef.get('kind')
  print 'Property Name           = %s\n' % propertyRef.get('name')


JavaScript

Uses the JavaScript client library.

/*
 * Note: This code assumes you have an authorized Analytics client object.
 * See the User Permissions Developer Guide for details.
 */

/*
 * Example 1:
 * Requests a list of all Property User links for the authorized user.
 */
function listProfileUserLinks() {
  var request = gapi.client.analytics.management.webpropertyUserLinks.list({
      'accountId': '123456',
      'webPropertyId': 'UA-123456-1'
  });
  request.execute(printPropertyUserLinks);
}

/*
 * Example 2:
 * The results of the list method are passed as the results object.
 * The following code shows how to iterate through them.
 */
function printPropertyUserLinks(results) {
  if (results && !results.error) {
    var propertyLinks = results.items;
    for (var i = 0, userLink; userLink = propertyLinks[i]; i++) {
      var entity = userLink.entity;
      var propertyRef = entity.webPropertyRef;
      var userRef = userLink.userRef;
      var permissions = userLink.permissions;

      console.log('Property User Link Id: ' + userLink.id);
      console.log('Property User Link Kind: ' + userLink.kind);
      console.log('User Email: ' + userRef.email);
      console.log('Permissions effective: ' + permissions.effective);
      console.log('Permissions local: ' + permissions.local);
      console.log('Property Id: ' + propertyRef.id);
      console.log('Property Kind: ' + propertyRef.kind);
      console.log('Property Name: ' + propertyRef.name);
    }
  }
}

Try it!

Use the APIs Explorer below to call this method on live data and see the response. Alternatively, try the standalone Explorer.