بعد إنشاء بيانات اعتماد OAuth 2.0 وتثبيت مكتبة عميل، تكون مستعدًا لبدء استخدام واجهة برمجة التطبيقات Display & Video 360 API. تعرَّف على كيفية تفويض العميل وإعداده وتقديم طلبك الأول من خلال اتّباع الخطوات الواردة في دليل البدء السريع أدناه.
Java
استورِد المكتبات اللازمة.
import static java.nio.charset.StandardCharsets.UTF_8; import com.google.api.client.auth.oauth2.Credential; import com.google.api.client.extensions.java6.auth.oauth2.AuthorizationCodeInstalledApp; import com.google.api.client.extensions.jetty.auth.oauth2.LocalServerReceiver; import com.google.api.client.googleapis.auth.oauth2.GoogleAuthorizationCodeFlow; import com.google.api.client.googleapis.auth.oauth2.GoogleClientSecrets; import com.google.api.client.googleapis.util.Utils; import com.google.api.services.displayvideo.v4.DisplayVideo; import com.google.api.services.displayvideo.v4.DisplayVideo.Advertisers; import com.google.api.services.displayvideo.v4.model.Advertiser; import com.google.api.services.displayvideo.v4.model.ListAdvertisersResponse; import java.io.Reader; import java.nio.file.Files; import java.nio.file.Paths;
حمِّل ملف أسرار العملاء وأنشئ بيانات اعتماد التفويض.
عند تنفيذ هذه الخطوة لأول مرة، سيُطلب منك قبول طلب تفويض في المتصفّح. قبل القبول، تأكَّد من تسجيل الدخول باستخدام حساب Google لديه إذن الوصول إلى "مساحة العرض والفيديو 360 ". سيتم تفويض تطبيقك بالوصول إلى البيانات نيابةً عن أي حساب تكون مسجِّلاً الدخول إليه حاليًا. اطّلِع على دليل تفويض الطلبات لمزيد من التفاصيل عن أذونات مستخدمي "مساحة العرض والفيديو 360".
// Read client secrets file. GoogleClientSecrets clientSecrets; try (Reader reader = Files.newBufferedReader(Paths.get(path-to-client-secrets-file), UTF_8)) { clientSecrets = GoogleClientSecrets.load(Utils.getDefaultJsonFactory(), reader); } // Generate authorization credentials. // Set up the authorization code flow. GoogleAuthorizationCodeFlow flow = new GoogleAuthorizationCodeFlow.Builder( Utils.getDefaultTransport(), Utils.getDefaultJsonFactory(), clientSecrets, oauth-scopes) .build(); Credential credential = new AuthorizationCodeInstalledApp(flow, new LocalServerReceiver()).authorize("user");
أنشئ عميل واجهة برمجة تطبيقات مفوَّضًا.
// Create authorized API client. DisplayVideo service = new DisplayVideo.Builder(credential.getTransport(), credential.getJsonFactory(), credential) .setApplicationName("displayvideo-java-installed-app-sample") .build();
تنفيذ عملية:
// Perform an operation. // Retrieve and print the first ten advertisers under a partner. ListAdvertisersResponse response = service .advertisers() .list() .setPartnerId(partner-id) .setPageSize(10) .execute(); if (response.getAdvertisers().size() > 0) { for (int i = 0; i < response.getAdvertisers().size(); i++) { System.out.printf( "ID: %s Display Name: %s%n", response.getAdvertisers().get(i).getAdvertiserId(), response.getAdvertisers().get(i).getDisplayName()); } } else { System.out.print("No advertisers found."); }
Python
استورِد المكتبات اللازمة.
from google_auth_oauthlib.flow import InstalledAppFlow from googleapiclient import discovery
حمِّل ملف أسرار العملاء وأنشئ بيانات اعتماد التفويض.
عند تنفيذ هذه الخطوة لأول مرة، سيُطلب منك قبول طلب تفويض في المتصفّح. قبل القبول، تأكَّد من تسجيل الدخول باستخدام حساب Google لديه إذن الوصول إلى "مساحة العرض والفيديو 360 ". سيتم تفويض تطبيقك بالوصول إلى البيانات نيابةً عن أي حساب تكون مسجِّلاً الدخول إليه حاليًا. اطّلِع على دليل تفويض الطلبات لمزيد من التفاصيل عن أذونات مستخدمي "مساحة العرض والفيديو 360".
# Set up a flow object to create the credentials using the # client secrets file and OAuth scopes. credentials = InstalledAppFlow.from_client_secrets_file( path-to-client-secrets-file, oauth-scopes).run_local_server()
أنشئ عميل واجهة برمجة تطبيقات مفوَّضًا.
# Build the discovery document URL. discovery_url = f'https://displayvideo.googleapis.com/$discovery/rest?version=v4' # Build the API service. service = discovery.build( 'displayvideo', 'v4', discoveryServiceUrl=discovery_url, credentials=credentials)
تنفيذ عملية:
# Build advertisers.list request. request = service.advertisers().list( partnerId=partner-id, pageSize='10') # Execute request. response = request.execute() # Print response. if len(response['advertisers']) > 0: for advertiser in response['advertisers']: print(f'ID: {advertiser["advertiserId"]} Display Name: {advertiser["displayName"]}') else: print('No advertisers found.')
PHP
يفترض هذا المثال أنّك تستخدم لغة PHP مع خادم ويب مضمّن و
أنّك أعددت بيانات الاعتماد لإعادة التوجيه إلى صفحة الويب ذات الصلة. على سبيل المثال، يمكن تنفيذ هذا الرمز في ملف index.php
باستخدام الأمر التالي والبيانات المُعتمَدة التي تم ضبطها لإعادة التوجيه إلى http://localhost:8000
بعد مصادقة:
php -S localhost:8000 -t ./
نزِّل مكتبة برامج Google API PHP Client وثبِّتها.
الطريقة المفضّلة هي استخدام Composer:
composer require google/apiclient:^2.18.2 google/apiclient-services:=0.396.0
بعد التثبيت، احرص على تضمين أداة التحميل التلقائي:
require_once '/path/to/your-project/vendor/autoload.php';
أنشئ عنصر Google_Client.
$client = new Google_Client();
إعداد العميل وإعادة التوجيه إلى عنوان URL للمصادقة إذا لزم الأمر واسترداد رمز دخول
عند تنفيذ هذه الخطوة لأول مرة، سيُطلب منك قبول طلب تفويض في المتصفّح. قبل القبول، تأكَّد من تسجيل الدخول باستخدام حساب Google لديه إذن الوصول إلى "مساحة العرض والفيديو 360 ". سيتم تفويض تطبيقك بالوصول إلى البيانات نيابةً عن أي حساب تكون مسجِّلاً الدخول إليه حاليًا. اطّلِع على دليل تفويض الطلبات لمزيد من التفاصيل عن أذونات مستخدمي "مساحة العرض والفيديو 360".
// Set up the client. $client->setApplicationName('DV360 API PHP Samples'); $client->addScope(oauth-scope); $client->setAccessType('offline'); $client->setAuthConfigFile(path-to-client-secrets-file); // If the code is passed, authenticate. If not, redirect to authentication page. if (isset($_GET['code'])) { $client->authenticate($_GET['code']); } else { $authUrl = $client->createAuthUrl(); header('Location: ' . $authUrl); } // Exchange authorization code for an access token. $accessToken = $client->getAccessToken(); $client->setAccessToken($accessToken);
أنشئ عنصر تحكم لخدمة Display & Video 360 API.
$service = new Google_Service_DisplayVideo($client);
تنفيذ عملية:
// Configure params for the advertisers.list request. $optParams = array('pageSize' => 10, 'partnerId' => partner-id); // Execute the request. $result = $service->advertisers->listAdvertisers($optParams); // Print the retrieved advertisers. if (!empty($result->getAdvertisers())) { print('<pre>'); foreach ($result->getAdvertisers() as $advertiser) { printf('<p>ID: %s, Display Name: %s</p>', $advertiser->advertiserId, $advertiser->displayName); } print('</pre>'); } else { print '<p>No advertisers found.</p>'; }