يشرح هذا الدليل أساسيات استخدام مكتبة عميل Perl لواجهة برمجة التطبيقات Google Ads API.
تهيئة العميل
لبدء استخدام المكتبة، أنشئ مثيلاً من 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};
}
التعامل مع الأخطاء
يمكن أن تؤدي طلبات البيانات من واجهة برمجة التطبيقات إلى ظهور استثناءات. عليك تضمين طلبات البيانات من واجهة برمجة التطبيقات في كتل eval لرصد Google::Ads::GoogleAds::GoogleAdsException والتعامل معها.
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";
}
}
استكشاف أمثلة أخرى
يمكنك العثور على عدة نماذج مفيدة للرموز البرمجية في الـ
أمثلة.
تتطلب معظم الأمثلة مَعلمات. يمكنك إما تمرير المَعلمات كarguments (ننصح بذلك) أو تعديل قيم INSERT_XXXXX_HERE في رمز المصدر. للاطّلاع على بيان استخدام لأحد الأمثلة، مرِّر -help كـ argument في سطر الأوامر.
perl examples/basic_operations/get_campaigns.pl -help