تثبيت البرنامج وإعداده

ننصحك باستخدام مكتبات عميل Google API مع Display & Video 360 API. باستخدام مكتبات البرامج، لن تحتاج إلى إعداد طلبات HTTP وتحليل الاستجابات يدويًا. يمكن أن توفّر مكتبات البرامج نتائج أفضل على مستوى التكامل اللغوي والأمان المعزَّز، كما تتيح إمكانية إجراء الطلبات التي تحتاج إلى إذن من المستخدم.

تم إنشاء واجهة برمجة التطبيقات "مساحة العرض والفيديو 360" استنادًا إلى HTTP وJSON. ويمكنك استخدام أي برنامج عادي لطلبات HTTP لتقديم الطلبات وتحليل الاستجابات.

تثبيت مكتبة برامج

نقدّم مكتبات برامج للعملاء تتوافق مع واجهة برمجة التطبيقات الخاصة بـ "مساحة العرض والفيديو 360" في مجموعة متنوعة من لغات البرمجة. للاطّلاع على قائمة كاملة بمكتبات البرامج، يُرجى الانتقال إلى صفحة العيّنات والمكتبات.

توفّر أدلة المطوّرين لواجهة برمجة التطبيقات في "مساحة العرض والفيديو 360" مقتطفات من الرموز البرمجية للّغات التالية:

بالإضافة إلى مقتطفات الرموز البرمجية في أدلتنا، نوفّر أمثلة كاملة على عمليات الدمج بهذه اللغات. يمكنك الاطّلاع على مستودع GitHub الخاص بأمثلة Display & Video 360 API للحصول على هذه النماذج.

إعداد العميل

باستخدام بيانات اعتماد OAuth 2.0 ومكتبة عميل مثبَّتة، يمكنك استخدام Display & Video 360 API. في ما يلي كيفية تفويض العميل وإعداده:

جافا

  1. استيراد المكتبات الضرورية

    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;
    
  2. حمِّل ملف أسرار العميل وأنشئ بيانات اعتماد التفويض.

    عند تنفيذ هذه الخطوة لأول مرة، سيُطلب منك قبول طلب تفويض في المتصفح. قبل قبول الدعوة، تأكَّد من تسجيل الدخول باستخدام حساب Google لديه إذن الوصول إلى "مساحة العرض والفيديو 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");
    
  3. إنشاء عميل معتمَد لواجهة برمجة التطبيقات

    // Create authorized API client.
    DisplayVideo service =
        new DisplayVideo.Builder(credential.getTransport(), credential.getJsonFactory(), credential)
            .setApplicationName("displayvideo-java-installed-app-sample")
            .build();
    

Python

  1. استيراد المكتبات الضرورية

    from google_auth_oauthlib.flow import InstalledAppFlow
    from googleapiclient import discovery
    
  2. حمِّل ملف أسرار العميل وأنشئ بيانات اعتماد التفويض.

    عند تنفيذ هذه الخطوة لأول مرة، سيُطلب منك قبول طلب تفويض في المتصفح. قبل قبول الدعوة، تأكَّد من تسجيل الدخول باستخدام حساب Google لديه إذن الوصول إلى "مساحة العرض والفيديو 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()
    
  3. إنشاء عميل معتمَد لواجهة برمجة التطبيقات

    # 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)
    

PHP

يفترض هذا النموذج أنّك تستخدم لغة PHP مع خادم ويب مدمج وأنّك أعددت بيانات الاعتماد لإعادة التوجيه إلى صفحة الويب ذات الصلة. على سبيل المثال، يمكن تنفيذ الرمز التالي، في ملف index.php، باستخدام الأمر التالي وبيانات الاعتماد التي تم ضبطها لإعادة التوجيه إلى http://localhost:8000 بعد المصادقة:

php -S localhost:8000 -t ./

  1. نزِّل برنامج 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';
    
  2. أنشئ عنصر Google_Client.

    $client = new Google_Client();
    
  3. إعداد العميل وإعادة التوجيه إلى عنوان URL مخصّص للمصادقة إذا لزم الأمر واسترداد رمز دخول

    عند تنفيذ هذه الخطوة لأول مرة، سيُطلب منك قبول طلب تفويض في المتصفح. قبل قبول الدعوة، تأكَّد من تسجيل الدخول باستخدام حساب Google لديه إذن الوصول إلى "مساحة العرض والفيديو 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);
    
  4. إنشاء عميل لخدمة Display & Video 360 API

    $service = new Google_Service_DisplayVideo($client);