إدارة دعوات وصول المستخدمين

بصفتك مشرفًا في "إعلانات Google"، يمكنك إدارة دعوات وصول المستخدمين إلى حساب على "إعلانات Google".

دعوة مستخدمين

يمكنك إرسال دعوة بالبريد الإلكتروني إلى مستخدِم جديد كجزء من إدارة الوصول إلى حساب "إعلانات Google". ويتم ذلك من خلال إنشاء CustomerUserAccessInvitation جديد باستخدام طريقة MutateCustomerUserAccessInvitation في CustomerUserAccessInvitationService. يجب أن يقبل المستخدم الذي تلقى الدعوة يدويًا الدعوة بالبريد الإلكتروني. كما يمكن للمستخدم قبول الدعوة باستخدام عنوان بريد إلكتروني بديل.

يعرض مقتطف الرمز هذا كيفية إرسال دعوة:

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 = client.get_type(
    "CustomerUserAccessInvitationOperation"
)
invitation = invitation_operation.create
invitation.email_address = email_address
invitation.access_role = client.enums.AccessRoleEnum[access_role].value

response = 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::V16::Resources::CustomerUserAccessInvitation->new({
      emailAddress => $email_address,
      accessRole   => $access_role
    });

  # Create the user access invitation operation.
  my $invitation_operation =
    Google::Ads::GoogleAds::V16::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;
}
      

إلغاء الدعوات

يمكنك إبطال الدعوة من خلال إزالة CustomerUserAccessInvitation باستخدام طريقة MutateCustomerUserAccessInvitation في CustomerUserAccessInvitationService.

استرداد دعوات المستخدمين

يمكنك استرداد قائمة دعوات المستخدمين التي في انتظار المراجعة من خلال إنشاء عبارة لغة طلب البحث في "إعلانات Google" لطلب البحث في جميع كيانات CustomerUserAccessInvitation المرتبطة بالرقم التعريفي للعميل. إليك استعلام نموذجي:

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

يمكنك إضافة شروط فلترة إضافية لاسترداد مجموعات فرعية من الدعوات. على سبيل المثال، تتمثل حالة الاستخدام الشائعة في استرداد قائمة دعوات المستخدمين التي تنتظر المراجعة. يمكن تحقيق ذلك من خلال الفلترة حسب customer_user_access_invitation.invitation_status = PENDING: