作为 Google Ads 管理员,您可以管理用户对 Google Ads 账号的访问权限邀请。
邀请用户
您可以发送电子邮件邀请给新用户,作为管理 Google Ads 账号访问权限的一部分。
为此,请使用 CustomerUserAccessInvitationService 的 MutateCustomerUserAccessInvitation 方法创建一个新的 CustomerUserAccessInvitation。收到电子邮件邀请的用户需要手动接受邀请。用户还可以使用备用邮箱接受邀请。邀请接受后,状态最多可能需要 24 小时才会从“待处理”变为其他状态。
如果 Google 确定需要多方审批,则:
MutateCustomerUserAccessInvitationResult将填充multi_party_auth_review字段,其中包含需要审批的待处理评价的资源名称。resource_name字段将不会填充。- 在待处理的多方审批请求得到解决之前,无法针对同一电子邮件地址发送新的邀请。
- 待审核的请求可由第二位管理员使用
ResolveMultiPartyAuthReview方法批准或拒绝。如需了解详情,请参阅多方审批指南。
此代码段展示了如何发送邀请:
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); if (response.getResult().getMultiPartyAuthReview().isEmpty()) { // A multi-party auth review was not triggered. 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()); } else { // A multi-party auth review was triggered. See // FetchAndApprovePendingMultiPartyAuthReviews.java for an example on how to fetch // and approve an MPA auth review. System.out.printf( "A multi-party auth review was triggered. The MPA review resource name is %s. " + "Ask a second administrator to approve this request to send user access invitation. " + "See FetchAndApprovePendingMultiPartyAuthReviews.java for an example on " + "how to approve an MPA auth review using the API.%n", response.getResult().getMultiPartyAuthReview()); } }
C#
MutateCustomerUserAccessInvitationRequest invitationRequest = new MutateCustomerUserAccessInvitationRequest() { CustomerId = customerId.ToString(), Operation = new CustomerUserAccessInvitationOperation() { Create = new CustomerUserAccessInvitation() { EmailAddress = emailAddress, AccessRole = accessRole }, } }; try { var response = service.MutateCustomerUserAccessInvitation(invitationRequest); if (response.Result.MultiPartyAuthReview == null) { // A multi-party auth review was not triggered. Console.WriteLine("Customer user access invitation was sent for " + $"customerId = {customerId} to email address = {emailAddress} and " + $"access role = {accessRole}. The invitation resource name is " + $"{response.Result.ResourceName}."); } else { // A multi-party auth review was triggered. See // FetchAndApprovePendingMultiPartyAuthReviews.cs for an example on how to fetch // and approve an MPA auth review. Console.WriteLine($"A multi-party auth review was triggered. The MPA review " + $"resource name is {response.Result.MultiPartyAuthReview}. Ask a second " + $"administrator to approve this request to send user access invitation. " + $"See FetchAndApprovePendingMultiPartyAuthReviews.cs for an example on " + $"how to approve an MPA auth review using the API."); } } 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 );