মৌলিক ব্যবহার

এই নির্দেশিকায় গুগল অ্যাডস এপিআই-এর জন্য পার্ল ক্লায়েন্ট লাইব্রেরি ব্যবহারের প্রাথমিক বিষয়গুলো ব্যাখ্যা করা হয়েছে।

ক্লায়েন্ট শুরু করুন

লাইব্রেরিটি ব্যবহার শুরু করতে, Google::Ads::GoogleAds::Client এর একটি ইনস্ট্যান্স তৈরি করুন। ক্লায়েন্টটি বিভিন্ন উপায়ে কনফিগার করা যেতে পারে, যেমনটি কনফিগারেশন গাইডে বিস্তারিতভাবে বলা আছে। একটি প্রচলিত পদ্ধতি হলো googleads.properties ফাইল ব্যবহার করা:

use Google::Ads::GoogleAds::Client;

my $api_client = Google::Ads::GoogleAds::Client->new();

একটি পরিষেবা তৈরি করুন

ক্লায়েন্টটি চালু হয়ে গেলে, আপনি বিভিন্ন এপিআই সার্ভিসের ইনস্ট্যান্স তৈরি করতে পারবেন। উদাহরণস্বরূপ, ক্যাম্পেইনগুলির সাথে ইন্টারঅ্যাক্ট করার জন্য, আপনাকে একটি CampaignService ইনস্ট্যান্স তৈরি করতে হবে:

my $campaign_service = $api_client->CampaignService();

এপিআই কল করুন

ক্যাম্পেইনগুলো পাওয়ার জন্য কীভাবে একটি এপিআই কল করতে হয়, তার একটি উদাহরণ এখানে দেওয়া হলো। এই কোড অংশে ক্লায়েন্ট ইনিশিয়ালাইজ করা, একটি সার্ভিস তৈরি করা এবং একটি মেথড কল করার পদ্ধতি দেখানো হয়েছে।

use strict;
use warnings;
use Google::Ads::GoogleAds::Client;
use Google::Ads::GoogleAds::V25::Services::GoogleAdsService::SearchGoogleAdsRequest;

# Initialize the Google Ads client. See the [Configuration guide](configuration) for more options.
my $api_client = Google::Ads::GoogleAds::Client->new();

# Get the GoogleAdsService.
my $google_ads_service = $api_client->GoogleAdsService();

# Specify the customer ID and query.
my $customer_id = "INSERT_CUSTOMER_ID_HERE";
my $query = "SELECT campaign.name, campaign.status FROM campaign";

# Create a search request.
my $search_request = Google::Ads::GoogleAds::V25::Services::GoogleAdsService::SearchGoogleAdsRequest
    ->new({
    customerId => $customer_id,
    query      => $query
});

# Execute the search request.
my $search_response = $google_ads_service->search($search_request);

# Iterate over the results and print campaign names.
foreach my $google_ads_row (@{$search_response->{results}}) {
    printf "Campaign with resource name '%s' and name '%s'.\n",
        $google_ads_row->{campaign}->{resourceName},
        $google_ads_row->{campaign}->{name};
}

ত্রুটিগুলি পরিচালনা করুন

এপিআই কল করার ফলে এক্সেপশন তৈরি হতে পারে। Google::Ads::GoogleAds::GoogleAdsException ক্যাচ ও হ্যান্ডেল করার জন্য আপনার এপিআই কলগুলোকে eval ব্লকের মধ্যে রাখা উচিত।

use strict;
use warnings;
use Google::Ads::GoogleAds::Client;
use Google::Ads::GoogleAds::GoogleAdsException;
use Google::Ads::GoogleAds::V25::Services::GoogleAdsService::SearchGoogleAdsRequest;

my $api_client = Google::Ads::GoogleAds::Client->new();
my $google_ads_service = $api_client->GoogleAdsService();
my $customer_id = "INSERT_CUSTOMER_ID_HERE";
my $query = "SELECT campaign.name, campaign.status FROM campaign";
my $search_request = Google::Ads::GoogleAds::V25::Services::GoogleAdsService::SearchGoogleAdsRequest->new({
    customerId => $customer_id,
    query      => $query
});

eval {
    my $search_response = $google_ads_service->search($search_request);
    # Process successful response.
    foreach my $google_ads_row (@{$search_response->{results}}) {
        printf "Campaign name: %s\n", $google_ads_row->{campaign}->{name};
    }
};
if ($@) {
    if (blessed($@) && $@->isa('Google::Ads::GoogleAds::GoogleAdsException')) {
        my $exception = $@;
        printf "A Google Ads exception occurred:\n";
        printf " Request ID: %s\n", $exception->get_request_id();
        foreach my $error (@{$exception->get_errors()}) {
            printf " Error code: %s\n", $error->{errorCode};
            printf " Message: %s\n", $error->{message};
        }
    } else {
        # Print other types of exceptions.
        print "An error occurred: $@\n";
    }
}

অন্যান্য উদাহরণ অন্বেষণ করুন

আপনি উদাহরণ অংশে বেশ কিছু দরকারি কোড স্যাম্পল খুঁজে পাবেন। বেশিরভাগ উদাহরণের জন্য প্যারামিটার প্রয়োজন হয়। আপনি প্যারামিটারগুলোকে আর্গুমেন্ট হিসেবে পাস করতে পারেন (যা বাঞ্ছনীয়) অথবা সোর্স কোডে থাকা INSERT_XXXXX_HERE ভ্যালুগুলো এডিট করতে পারেন। কোনো উদাহরণের ব্যবহারবিধি দেখতে, কমান্ড-লাইন আর্গুমেন্ট হিসেবে -help পাস করুন।

perl examples/basic_operations/get_campaigns.pl -help