ব্যবহারকারীর অ্যাক্সেসের আমন্ত্রণগুলি পরিচালনা করুন৷

একজন গুগল অ্যাডস প্রশাসক হিসেবে, আপনি একটি গুগল অ্যাডস অ্যাকাউন্টে ব্যবহারকারীদের অ্যাক্সেসের আমন্ত্রণগুলো পরিচালনা করতে পারেন।

ব্যবহারকারীদের আমন্ত্রণ জানান

একটি গুগল অ্যাডস অ্যাকাউন্টের অ্যাক্সেস ম্যানেজ করার অংশ হিসেবে আপনি একজন নতুন ব্যবহারকারীকে ইমেল আমন্ত্রণ পাঠাতে পারেন। এটি করার জন্য, CustomerUserAccessInvitationService এর MutateCustomerUserAccessInvitation মেথড ব্যবহার করে একটি নতুন CustomerUserAccessInvitation তৈরি করতে হয়। যিনি আমন্ত্রণটি পেয়েছেন, সেই ব্যবহারকারীকে ম্যানুয়ালি এটি গ্রহণ করতে হবে। ব্যবহারকারী একটি বিকল্প ইমেল অ্যাড্রেস ব্যবহার করেও আমন্ত্রণটি গ্রহণ করতে পারেন। আমন্ত্রণটি গ্রহণ করার পর এর স্ট্যাটাস 'পেন্ডিং' থেকে পরিবর্তিত হতে ২৪ ঘণ্টা পর্যন্ত সময় লাগতে পারে।

যদি গুগল নির্ধারণ করে যে একাধিক পক্ষের অনুমোদন প্রয়োজন:

  • MutateCustomerUserAccessInvitationResult ফাংশনটি ` multi_party_auth_review ফিল্ডটিতে অনুমোদনের জন্য অপেক্ষাধীন পর্যালোচনার রিসোর্স নামটি পূরণ করবে।
  • resource_name ফিল্ডটি পূরণ করা হবে না
  • অমীমাংসিত বহু-পক্ষীয় অনুমোদনের অনুরোধটির নিষ্পত্তি না হওয়া পর্যন্ত একই ইমেল ঠিকানায় নতুন আমন্ত্রণ পাঠানো যাবে না।
  • দ্বিতীয় কোনো প্রশাসক ResolveMultiPartyAuthReview পদ্ধতি ব্যবহার করে মুলতুবি থাকা পর্যালোচনার অনুরোধটি অনুমোদন বা প্রত্যাখ্যান করতে পারেন। আরও জানতে বহু-পক্ষীয় অনুমোদন নির্দেশিকাটি দেখুন।

এই কোড স্নিপেটটি দেখায় কীভাবে একটি আমন্ত্রণ পাঠাতে হয়:

জাভা

// 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());
  }
}
      

সি#

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;
}
      

পিএইচপি

// 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
);
      

পাইথন

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}"
)
      

রুবি

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}'."
      

পার্ল

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

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

কার্ল

# 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
      

আমন্ত্রণ প্রত্যাহার করুন

আপনি CustomerUserAccessInvitationService এর MutateCustomerUserAccessInvitation মেথড ব্যবহার করে একটি CustomerUserAccessInvitation সরিয়ে দিয়ে একটি আমন্ত্রণ প্রত্যাহার করতে পারেন।

ব্যবহারকারীর আমন্ত্রণগুলি পুনরুদ্ধার করুন

একটি কাস্টমার আইডির সাথে যুক্ত সমস্ত 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 দিয়ে ফিল্টার করে অপেক্ষাধীন ব্যবহারকারী আমন্ত্রণের তালিকা পুনরুদ্ধার করা।