In qualità di amministratore Google Ads, puoi gestire gli inviti di accesso utente a un account Google Ads.
Invitare utenti
Puoi inviare un invito via email a un nuovo utente nell'ambito della
gestione dell'accesso a un
account Google Ads.
Per farlo, crea un nuovo
CustomerUserAccessInvitation
utilizzando il
metodo MutateCustomerUserAccessInvitation di
CustomerUserAccessInvitationService.
L'invito via email deve essere accettato manualmente
dall'utente che lo ha ricevuto. L'invito può essere accettato anche dall'utente utilizzando un indirizzo email alternativo. Una volta accettato l'invito, potrebbero occorrere fino a 24 ore prima che lo stato cambi da In attesa.
Questo snippet di codice mostra come inviare un invito:
Java
// Constructs an access invitation. CustomerUserAccessInvitation invitation = CustomerUserAccessInvitation.newBuilder() .setEmailAddress(emailAddress) .setAccessRole(accessRole) .build(); // Constructs an operation to send the invitation. CustomerUserAccessInvitationOperation operation = CustomerUserAccessInvitationOperation.newBuilder().setCreate(invitation).build(); // Creates a CustomerUserAccessInvitationServiceClient. try (CustomerUserAccessInvitationServiceClient client = googleAdsClient.getLatestVersion().createCustomerUserAccessInvitationServiceClient()) { // Issues the request. MutateCustomerUserAccessInvitationResponse response = client.mutateCustomerUserAccessInvitation(String.valueOf(customerId), operation); // Prints some information about the result. System.out.printf( "Customer user access invitation was sent for customerId = " + "%d to email address = '%s' and access role = '%s'. The invitation resource " + "name is '%s'.%n", customerId, emailAddress, accessRole, response.getResult().getResourceName()); }
C#
MutateCustomerUserAccessInvitationRequest invitationRequest = new MutateCustomerUserAccessInvitationRequest() { CustomerId = customerId.ToString(), Operation = new CustomerUserAccessInvitationOperation() { Create = new CustomerUserAccessInvitation() { EmailAddress = emailAddress, AccessRole = accessRole }, } }; try { var response = service.MutateCustomerUserAccessInvitation(invitationRequest); Console.WriteLine("Customer user access invitation was sent for customerId = " + "{0} to email address = {1} and access role = {2}. The invitation resource " + "name is {3}.", customerId, emailAddress, accessRole, response.Result.ResourceName); } catch (GoogleAdsException e) { Console.WriteLine("Failure:"); Console.WriteLine($"Message: {e.Message}"); Console.WriteLine($"Failure: {e.Failure}"); Console.WriteLine($"Request ID: {e.RequestId}"); throw; }
PHP
// Creates a customer user access invitation. $customerUserAccessInvitation = new CustomerUserAccessInvitation([ 'email_address' => $emailAddress, 'access_role' => AccessRole::value($accessRole) ]); // Creates a customer user access invitation operation. $customerUserAccessInvitationOperation = new CustomerUserAccessInvitationOperation(); $customerUserAccessInvitationOperation->setCreate($customerUserAccessInvitation); // Issues a mutate request to send the customer user access invitation and prints its // information. $customerUserAccessInvitationServiceClient = $googleAdsClient->getCustomerUserAccessInvitationServiceClient(); $response = $customerUserAccessInvitationServiceClient->mutateCustomerUserAccessInvitation( MutateCustomerUserAccessInvitationRequest::build( $customerId, $customerUserAccessInvitationOperation ) ); printf( "Customer user access invitation with resource name '%s' was sent from customer " . "ID %d to email address '%s' with access role '%s'.%s", $response->getResult()->getResourceName(), $customerId, $emailAddress, $accessRole, PHP_EOL );
Python
invitation_operation: CustomerUserAccessInvitationOperation = ( client.get_type("CustomerUserAccessInvitationOperation") ) invitation: CustomerUserAccessInvitation = invitation_operation.create invitation.email_address = email_address # The access_role field in the CustomerUserAccessInvitation message expects # an AccessRoleEnum value (which is an int). invitation.access_role = client.enums.AccessRoleEnum[access_role].value response: MutateCustomerUserAccessInvitationResponse = ( service.mutate_customer_user_access_invitation( customer_id=customer_id, operation=invitation_operation ) ) print( "Customer user access invitation was sent for " f"customer ID: '{customer_id}', " f"email address {email_address}, and " f"access role {access_role}. The invitation resource name is: " f"{response.result.resource_name}" )
Ruby
operation = client.operation.create_resource.customer_user_access_invitation do |inv| inv.email_address = email_address inv.access_role = access_role end # Issues a mutate request to get the response. response = client.service.customer_user_access_invitation.mutate_customer_user_access_invitation( customer_id: customer_id, operation: operation, ) # Prints out information of the created invitation. puts "Customer user access invitation was sent for customerId = #{customer_id} " \ "email address = '#{email_address}', " \ "access role = '#{access_role}'."
Perl
sub invite_user_with_access_role { my ($api_client, $customer_id, $email_address, $access_role) = @_; # Create the user access invitation. my $user_access_invitation = Google::Ads::GoogleAds::V22::Resources::CustomerUserAccessInvitation->new({ emailAddress => $email_address, accessRole => $access_role }); # Create the user access invitation operation. my $invitation_operation = Google::Ads::GoogleAds::V22::Services::CustomerUserAccessInvitationService::CustomerUserAccessInvitationOperation ->new({create => $user_access_invitation}); # Send the user access invitation. my $invitation_response = $api_client->CustomerUserAccessInvitationService()->mutate({ customerId => $customer_id, operation => $invitation_operation }); printf "Customer user access invitation was sent for customerId = %d " . "to email address = '%s' and access role = '%s'. " . "The invitation resource name is '%s'.\n", $customer_id, $email_address, $access_role, $invitation_response->{result}{resourceName}; return 1; }
curl
# This code example sends an invitation email to a user. # # The invitation is to manage a customer account with a desired access role. # # Variables: # API_VERSION, # CUSTOMER_ID, # DEVELOPER_TOKEN, # MANAGER_CUSTOMER_ID, # OAUTH2_ACCESS_TOKEN: # See https://developers.google.com/google-ads/api/rest/auth#request_headers # for details. # # EMAIL_ADDRESS: The email address of the user to invite. curl -f --request POST \ "https://googleads.googleapis.com/v${API_VERSION}/customers/${CUSTOMER_ID}/customerUserAccessInvitations:mutate" \ --header "Content-Type: application/json" \ --header "developer-token: ${DEVELOPER_TOKEN}" \ --header "login-customer-id: ${MANAGER_CUSTOMER_ID}" \ --header "Authorization: Bearer ${OAUTH2_ACCESS_TOKEN}" \ --data @- <<EOF { "operation": { "create": { "emailAddress": "${EMAIL_ADDRESS}", "accessRole": "ADMIN" } } } EOF
Revocare gli inviti
Puoi revocare un invito rimuovendo un CustomerUserAccessInvitation utilizzando il metodo MutateCustomerUserAccessInvitation di CustomerUserAccessInvitationService.
Recuperare gli inviti di utenti
Puoi recuperare l'elenco degli inviti utente in attesa creando un'istruzione
Google Ads Query Language per eseguire query su tutte le entità
CustomerUserAccessInvitation associate a un ID cliente. Ecco una query tipica:
SELECT
customer_user_access_invitation.invitation_id,
customer_user_access_invitation.email_address,
customer_user_access_invitation.access_role,
customer_user_access_invitation.invitation_status,
customer_user_access_invitation.creation_date_time
FROM
customer_user_access_invitation
Puoi aggiungere altre condizioni di filtro per recuperare sottoinsiemi di inviti.
Ad esempio, un caso d'uso comune è recuperare l'elenco degli inviti utente in attesa. Per farlo, filtra in base a
customer_user_access_invitation.invitation_status = PENDING: