في مسار عمل المصادقة المتعددة المستخدمين، يمكنك إنشاء مسار OAuth خاص بك لمصادقة المستخدمين. تتوفّر أنواع متعددة من التطبيقات موضّحة كجزء من مستندات Google Identity، بالإضافة إلى إعدادات مشروع Google Cloud Console التي تحتاج إليها لدعم نوع التطبيق هذا. تتوافق جميع أنواع التطبيقات هذه مع Google Ads API. في ما يلي التفاصيل الفنية الإضافية التي يجب أخذها في الاعتبار:
للوصول إلى Google Ads API، عليك ضبط تطبيقك للمصادقة على النطاق التالي:
https://www.googleapis.com/auth/adwords
قد يحتاج تطبيقك إلى إجراء طلبات بيانات من واجهة برمجة التطبيقات نيابةً عن المستخدم أثناء عدم اتصاله بالإنترنت. أحد السيناريوهات الشائعة هو تنزيل مقاييس الحساب بلا إنترنت لإنشاء تقارير وإجراء تحليلات للحساب. لهذا السبب، ننصحك بطلب إذن الوصول غير المتصل بالإنترنت في OAuth.
عليك إكمال عملية التحقّق من تطبيق OAuth والحصول على شهادة اعتماد لتطبيقك.
إعداد مكتبة البرامج
بعد منح المستخدم الإذن والحصول على بيانات اعتماد OAuth 2.0، يمكنك ضبط مكتبة العميل باتّباع التعليمات الواردة في علامة التبويب الخاصة بلغة البرمجة التي تستخدمها.
Java
يمكنك تهيئة مثيل GoogleAdsClient
في وقت التشغيل باستخدام بيانات الاعتماد التي حصلت عليها من المستخدم الذي تريد إجراء طلبات إلى واجهة برمجة التطبيقات لحساباته.
UserCredentials credentials =
UserCredentials.newBuilder()
.setClientId(OAUTH_CLIENT_ID)
.setClientSecret(OAUTH_CLIENT_SECRET)
.setRefreshToken(REFRESH_TOKEN)
.build();
// Creates a GoogleAdsClient with the provided credentials.
GoogleAdsClient client =
GoogleAdsClient.newBuilder()
// Sets the developer token which enables API access.
.setDeveloperToken(DEVELOPER_TOKEN)
// Sets the OAuth credentials which provide Google Ads account access.
.setCredentials(credentials)
// Optional: sets the login customer ID.
.setLoginCustomerId(Long.valueOf(LOGIN_CUSTOMER_ID))
.build();
``` See the [configuration guide][java-config-guide] for additional options.
NET.
يمكنك تهيئة مثيل GoogleAdsClient
في وقت التشغيل باستخدام بيانات الاعتماد التي حصلت عليها من المستخدم الذي تريد إجراء طلبات إلى واجهة برمجة التطبيقات لحساباته.
GoogleAdsConfig googleAdsConfig = new GoogleAdsConfig()
{
DeveloperToken = DEVELOPER_TOKEN,
LoginCustomerId = LOGIN_CUSTOMER_ID,
OAuth2ClientId = OAUTH_CLIENT_ID,
OAuth2ClientSecret = OAUTH_CLIENT_SECRET,
OAuth2RefreshToken = REFRESH_TOKEN,
};
GoogleAdsClient googleAdsClient = new GoogleAdsClient(googleAdsConfig);
راجِع دليل الإعداد للاطّلاع على خيارات إضافية.
Python
يمكنك تهيئة مثيل GoogleAdsClient
في وقت التشغيل باستخدام بيانات الاعتماد التي حصلت عليها من المستخدم الذي تريد إجراء طلبات إلى واجهة برمجة التطبيقات لحساباته.
from google.ads.googleads.client import GoogleAdsClient
credentials = {
"developer_token": "INSERT_DEVELOPER_TOKEN_HERE",
"login_customer_id": "INSERT_LOGIN_CUSTOMER_ID_HERE",
"refresh_token": "REFRESH_TOKEN",
"client_id": "OAUTH_CLIENT_ID",
"client_secret": "OAUTH_CLIENT_SECRET"}
client = GoogleAdsClient.load_from_dict(credentials)
راجِع دليل الإعداد للاطّلاع على خيارات إضافية.
PHP
يمكنك تهيئة مثيل GoogleAdsClient
في وقت التشغيل باستخدام بيانات الاعتماد التي حصلت عليها من المستخدم الذي تريد إجراء طلبات إلى واجهة برمجة التطبيقات لحساباته.
$oAuth2Credential = (new OAuth2TokenBuilder())
->withClientId('INSERT_CLIENT_ID_HERE')
->withClientSecret('INSERT_CLIENT_SECRET_HERE')
->withRefreshToken('INSERT_REFRESH_TOKEN_HERE')
->build();
$googleAdsClient = (new GoogleAdsClientBuilder())
->withOAuth2Credential($oAuth2Credential)
->withDeveloperToken('INSERT_DEVELOPER_TOKEN_HERE')
->withLoginCustomerId('INSERT_LOGIN_CUSTOMER_ID_HERE')
->build();
راجِع دليل الإعداد للاطّلاع على خيارات إضافية.
Ruby
يمكنك تهيئة مثيل GoogleAdsClient
في وقت التشغيل باستخدام بيانات الاعتماد التي حصلت عليها من المستخدم الذي تريد إجراء طلبات إلى واجهة برمجة التطبيقات لحساباته.
client = Google::Ads::GoogleAds::GoogleAdsClient.new do |config|
config.client_id = 'INSERT_CLIENT_ID_HERE'
config.client_secret = 'INSERT_CLIENT_SECRET_HERE'
config.refresh_token = 'INSERT_REFRESH_TOKEN_HERE'
config.login_customer_id = 'INSERT_LOGIN_CUSTOMER_ID_HERE'
config.developer_token = 'INSERT_DEVELOPER_TOKEN_HERE'
end
راجِع دليل الإعداد للاطّلاع على خيارات إضافية.
Perl
يمكنك تهيئة مثيل GoogleAdsClient
في وقت التشغيل باستخدام بيانات الاعتماد التي حصلت عليها من المستخدم الذي تريد إجراء طلبات إلى واجهة برمجة التطبيقات لحساباته.
my $api_client = Google::Ads::GoogleAds::Client->new({
developer_token => "INSERT_DEVELOPER_TOKEN_HERE",
login_customer_id => "INSERT_LOGIN_CUSTOMER_ID_HERE"
});
my $oauth2_applications_handler = $api_client->get_oauth2_applications_handler();
$oauth2_applications_handler->set_client_id("INSERT_CLIENT_ID");
$oauth2_applications_handler->set_client_secret("INSERT_CLIENT_SECRET");
$oauth2_applications_handler->set_refresh_token("INSERT_REFRESH_TOKEN");
راجِع دليل الإعداد للاطّلاع على خيارات إضافية.
curl
ابدأ باستخدام برنامج HTTP لاسترجاع رمز دخول OAuth 2.0. يستخدم هذا الدليل الأمر curl
.
curl \
--data "grant_type=refresh_token" \
--data "client_id=CLIENT_ID" \
--data "client_secret=CLIENT_SECRET" \
--data "refresh_token=REFRESH_TOKEN" \
https://www.googleapis.com/oauth2/v3/token
يمكنك الآن استخدام رمز الدخول في طلبات البيانات من واجهة برمجة التطبيقات. يوضّح المثال التالي كيفية عرض تقرير عن الحملة باستخدام الطريقة GoogleAdsService.SearchStream
لاسترداد الحملات في حسابك. لا يتناول هذا الدليل تفاصيل عملية
الإبلاغ.
curl -i -X POST https://googleads.googleapis.com/v21/customers/CUSTOMER_ID/googleAds:searchStream \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ACCESS_TOKEN" \
-H "developer-token: DEVELOPER_TOKEN" \
-H "login-customer-id: LOGIN_CUSTOMER_ID" \
--data-binary "@query.json"
في ما يلي محتويات query.json
:
{
"query": "SELECT campaign.id, campaign.name, campaign.network_settings.target_content_network FROM campaign ORDER BY campaign.id"
}