في سير عمل المصادقة المتعددة المستخدمين، يمكنك إنشاء سير عمل OAuth خاص بك لمصادقة المستخدمين. تتوفّر أنواع متعددة من التطبيقات موضّحة كجزء من مستندات Google Identity، بالإضافة إلى إعدادات مشروع Google Cloud Console التي تحتاج إليها لدعم نوع التطبيق هذا. تتوافق جميع أنواع التطبيقات هذه مع Google Ads API. في ما يلي التفاصيل الفنية الإضافية التي يجب أخذها في الاعتبار:
للوصول إلى Google Ads API، عليك ضبط تطبيقك للمصادقة على النطاق التالي:
https://www.googleapis.com/auth/adwordsقد يحتاج تطبيقك إلى إرسال طلبات إلى واجهة برمجة التطبيقات نيابةً عن المستخدم أثناء عدم اتصاله بالإنترنت. أحد السيناريوهات الشائعة هو تنزيل مقاييس الحساب بلا إنترنت من أجل إنشاء التقارير وإجراء إحصاءات الحساب. لهذا السبب، ننصحك بطلب إذن الوصول بلا إنترنت إلى OAuth.
عليك إكمال عملية التحقّق من تطبيق OAuth والحصول على شهادة اعتماد لتطبيقك.
إعداد مكتبة البرامج
بعد منح المستخدم الإذن والحصول على بيانات اعتماد OAuth 2.0، يمكنك ضبط مكتبة البرامج باتّباع التعليمات الواردة في علامة التبويب الخاصة بلغة البرمجة التي تستخدمها.
جافا
يمكنك تهيئة مثيل 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();
راجِع دليل الإعداد للاطّلاع على خيارات إضافية.
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/v25/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"
}