检索用户

用户资源包括用户特定的信息,例如用户 显示名和唯一 ID 以及权限信息,或者分配给 用户角色

本页面介绍了如何使用电子邮件地址检索用户资源。

从过滤列表中检索用户

展示广告与系统为视频 360 API 用户资源分配唯一 ID 创建过程。此 ID 可用于通过 users.get 方法。但是,如果您没有 userId,您仍然可以使用 将 users.list 方法与 filter 结合使用 用于按电子邮件地址过滤的参数。

以下示例展示了如何使用此方法检索用户资源:

// Create a variable to store the desired user once found.
User retrievedUser =  new User();

// Create the filter string for list call. Using this filter will return all
// users with an email address containing the specified value.
String emailFilter = String.format("email:\"%s\"", email-address);

// Configure the list request.
Users.List request =
    service
       
.users()
       
.list();

// Set the filter for the request.
request
.setFilter(emailFilter);

// Create the response and nextPageToken variables.
ListUsersResponse response;
String nextPageToken = null;

do {
 
// Create and execute the list request.
  response
= request.setPageToken(nextPageToken).execute();

 
// Check if response is empty.
 
if (response.isEmpty()) {
   
break;
 
}

 
// Iterate over retrieved line items and add to total list.
 
for (User user : response.getUsers()) {
   
if (user.getEmail() == email-address) {
      retrievedUser
= user;
     
break;
   
}
 
}

 
// Update the next page token.
  nextPageToken
= response.getNextPageToken();

} while (!Strings.isNullOrEmpty(nextPageToken) && retrievedUser.isEmpty());

// Print user information if a user was found.
if (!retrievedUser.isEmpty()) {
 
System.out.printf("User %s was found.\n", retrievedUser.getName());
 
System.out.printf("User: %s, Display Name: %s, Email: %s\n",
      retrievedUser
.getUserId(),
      retrievedUser
.getDisplayName(),
      retrievedUser
.getEmail());

 
AssignedUserRole userRole;

 
for (int i = 0; i < retrievedUser.getAssignedUserRoles().size(); i++) {
    userRole
= retrievedUser.getAssignedUserRoles().get(i);

   
System.out.printf("Assigned User Role %s:\n", i+1);

   
if (userRole.getPartnerId() != null) {
     
System.out.printf("Partner ID: %s\n", userRole.getPartnerId());
   
} else {
     
System.out.printf("Advertiser ID: %s\n", userRole.getAdvertiserId());
   
}

   
System.out.printf("User Role: %s\n", userRole.getUserRole());
 
}
} else {
 
System.out.printf("No user was found with email address %s", email-address);
}
# Create a variable to store the desired user once found.
retrieved_user
= None

# Create the filter string for list call. Using this filter will return all
# users with an email address containing the specified value.
email_filter
= 'email:"%s"' % email-address

# Create the page token variable.
next_page_token
= ''

while True:
 
# Request the users list.
  response
= service.users().list(
      filter
=email_filter,
      pageToken
=next_page_token
 
).execute()

 
# Check if the response is empty.
 
if not response:
   
break

 
# Iterate over retrieved users.
 
for user in response['users']:
   
# Break from the loop if the user is found.
   
if user['email'] == email-address
      retrieved_user
= user
     
break

 
# Break out of the loop if there is no next page or if the user has been
 
# found.
 
if 'nextPageToken' not in response or user is not None:
   
break

 
# Update the next page token.
  next_page_token
= response['nextPageToken']

# Print user information if a user was found.
if retrieved_user:
 
print('User %s was found.' % retrieved_user['name'])

 
print('User: %s, Display Name: %s, Email: %s'
       
% (retrieved_user['userId'],
           retrieved_user
['displayName'],
           retrieved_user
['email']))

 
for index in range(len(retrieved_user['assignedUserRoles'])):
   
print('Assigned User Role %s:' % index)

   
if 'partnerId' in retrieved_user['assignedUserRoles'][0]:
     
print('Partner ID: %s' % retrieved_user['assignedUserRoles'][0]['partnerId'])
   
else:
     
print('Advertiser ID: %s' %
            retrieved_user
['assignedUserRoles'][0]['advertiserId'])

   
print('User Role: %s' % retrieved_user['assignedUserRoles'][0]['userRole'])
else:
 
print('No user was found with email address %s' % email-address)
// Create a variable to store the desired user once found.
$retrievedUser
= null;

// Create the filter string with the desired user email.
$emailFilter
= 'email:"' . email-address . '"';

# Create the page token variable.
$nextPageToken
= '';

do {
   
// Build argument parameters for list call.
    $optParams
= array(
       
'filter' => $emailFilter,
       
'pageToken' => $nextPageToken
   
);

   
// Call the API, getting the line items with flights ending before the
   
// given date.
    $response
= $this->service->users->listUsers($optParams);

   
// If no line items are returned, break loop.
   
if (!empty($response->getUsers())) {
       
break;
   
}

   
foreach ($response->getUsers() as $user) {
       
if ($user->getEmail() == email-address) {
            $retrievedUser
= $user;
           
break;
       
}
   
}

    $nextPageToken
= $response->getNextPageToken();
} while (is_null($retrievedUser) && $nextPageToken);

// Print user information if a user was found.
if (!is_null($retrievedUser)) {
    printf
(
       
'User %s was found.\nUser: %s, Display Name: %s, Email: %s\n',
        $retrievedUser
->getName(),
        $retrievedUser
->getUserId(),
        $retrievedUser
->getDisplayName(),
        $retrievedUser
->getEmail()
   
);

   
// Print each assigned user role for user.
   
foreach ($retrievedUser->getAssignedUserRoles() as $userRole) {
       
print("Assigned User Role:\n");
       
if ($userRole->getPartnerId()) {
            printf
("\tPartner ID: %s\n", $userRole->getPartnerId());
       
} else {
            printf
("\tAdvertiser ID: %s\n", $userRole->getAdvertiserId());
       
}
        printf
("\tUser Role: %s\n", $userRole->getUserRole());
   
}
} else {
  printf
(
     
"No user was found with email address %s",
     
email-address
 
);
}