با API شروع کنید

این سند نحوه شروع نوشتن برنامه‌هایی را که از API مدیریت پیشنهاد گوگل (Google Bid Manager API) استفاده می‌کنند، توضیح می‌دهد. این API به شما امکان می‌دهد پرس‌وجوها (Query) را مدیریت کرده و ابرداده‌های گزارش (Report Metadata) را بازیابی کنید.

نسخه ۲ رابط برنامه‌نویسی کاربردی مدیریت پیشنهادها (Bid Manager API) آخرین نسخه موجود و توصیه‌شده است.

۱. قبل از شروع

اگر با مفاهیم Google Display & Video 360 آشنا نیستید، مرکز راهنمای Display & Video 360 را مطالعه کنید و با رابط کاربری آن آزمایش کنید.

۲. برای احراز هویت آماده شوید

برای شروع استفاده از API مدیریت پیشنهادات، ابتدا باید از ابزار راه‌اندازی استفاده کنید که شما را در ایجاد یک پروژه در کنسول API گوگل و فعال کردن API راهنمایی می‌کند.

اگر قبلاً این کار را نکرده‌اید، با کلیک روی «ایجاد اعتبارنامه‌ها» > «شناسه کلاینت OAuth» اعتبارنامه‌های OAuth 2.0 خود را ایجاد کنید. پس از ایجاد اعتبارنامه‌ها، می‌توانید شناسه کلاینت خود را در صفحه «اعتبارنامه‌ها» مشاهده کنید. برای جزئیاتی مانند رمز کلاینت، آدرس‌های تغییر مسیر، آدرس مبدأ جاوا اسکریپت و آدرس ایمیل، روی شناسه کلاینت کلیک کنید.

برای اطلاعات بیشتر، به درخواست‌های تأیید مراجعه کنید.

۳. فراخوانی API مدیریت پیشنهاد قیمت

تب‌های زیر، شروع سریع کدنویسی به زبان‌های مختلف را ارائه می‌دهند. نمونه کدهای مشابه را می‌توانید در مخزن Bid Manager API Examples نیز پیدا کنید.

جاوا

  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.doubleclickbidmanager.DoubleClickBidManager;
    import com.google.api.services.doubleclickbidmanager.model.ListQueriesResponse;
    import com.google.api.services.doubleclickbidmanager.model.Query;
    import java.io.Reader;
    import java.nio.file.Files;
    import java.nio.file.Paths;
  2. فایل اسرار کلاینت را بارگذاری کنید و اعتبارنامه‌های مجوز را ایجاد کنید.

    اولین باری که این مرحله را انجام می‌دهید، از شما خواسته می‌شود که درخواست مجوز را در مرورگر خود بپذیرید. قبل از پذیرش، مطمئن شوید که با یک حساب گوگل که به Display & Video 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. یک کلاینت API مجاز ایجاد کنید.

    // Create authorized API client.
    DoubleClickBidManager service =
        new DoubleClickBidManager.Builder(credential.getTransport(), credential.getJsonFactory(), credential)
            .setApplicationName("bidmanager-java-installed-app-sample")
            .build();
  4. انجام یک عملیات.

    // Perform an operation.
    // Call the API, getting a list of 10 queries.
    ListQueriesResponse queriesResponse = service.queries().list().setPageSize(10).execute();
    
    // Print them out.
    System.out.println("Id\t\tName");
    if (queriesResponse.getQueries().size() > 0) {
      for (int i = 0; i < queriesResponse.getQueries().size(); i++) {
        Query currentQuery = queriesResponse.getQueries().get(i);
        System.out.printf(
            "%s\t%s%n",
            currentQuery.getQueryId(),
            currentQuery.getMetadata().getTitle());
      }
    } else {
      System.out.println("No queries exist.");
    }

برای اطلاعات بیشتر در مورد استفاده از API مدیریت پیشنهاد با جاوا، به فایل README در مثال‌های API مدیریت پیشنهاد مراجعه کنید.

پایتون

  1. کتابخانه‌های لازم را وارد کنید.

    from google_auth_oauthlib.flow import InstalledAppFlow
    from googleapiclient import discovery
  2. فایل اسرار کلاینت را بارگذاری کنید و اعتبارنامه‌های مجوز را ایجاد کنید.

    اولین باری که این مرحله را انجام می‌دهید، از شما خواسته می‌شود که درخواست مجوز را در مرورگر خود بپذیرید. قبل از پذیرش، مطمئن شوید که با یک حساب گوگل که به Display & Video 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. یک کلاینت API مجاز ایجاد کنید.

    # Build the discovery document URL.
    discovery_url = f'https://doubleclickbidmanager.googleapis.com/$discovery/rest?version=v2'
    
    # Build the API service.
    service = discovery.build(
        'doubleclickbidmanager',
        'v2',
        discoveryServiceUrl=discovery_url,
        credentials=credentials)
  4. انجام یک عملیات.

    # Build and execute queries.listqueries request.
    response = service.queries().list(pageSize='10').execute()
    
    # Print queries out.
    if 'queries' in response:
      print('Id\t\tName')
      for query in response['queries']:
        print('%s\t%s' % (query['queryId'], query['metadata']['title']))
    else:
      print('No queries exist.')

برای اطلاعات بیشتر در مورد استفاده از API مدیریت پیشنهاد با پایتون، به فایل README در مثال‌های API مدیریت پیشنهاد مراجعه کنید.

پی اچ پی

این نمونه فرض می‌کند که شما PHP را با یک وب سرور داخلی اجرا می‌کنید و اعتبارنامه‌های خود را برای هدایت به صفحه وب مربوطه پیکربندی کرده‌اید. برای مثال، این کد، در یک فایل index.php ، می‌تواند با استفاده از دستور زیر و اعتبارنامه‌های پیکربندی شده برای هدایت به http://localhost:8000 پس از احراز هویت، اجرا شود:

php -S localhost:8000 -t ./

  1. کلاینت PHP API گوگل را دانلود و نصب کنید.

    روش ترجیحی از طریق Composer است:

    composer require google/apiclient:^2.12.1

    پس از نصب، حتماً autoloader را فعال کنید.

    require_once '/path/to/your-project/vendor/autoload.php';

  2. یک شیء Google_Client ایجاد کنید.

    $client = new Google_Client();
  3. کلاینت را تنظیم کنید، در صورت نیاز به URL احراز هویت هدایت شوید و یک توکن دسترسی دریافت کنید.

    اولین باری که این مرحله را انجام می‌دهید، از شما خواسته می‌شود که درخواست مجوز را در مرورگر خود بپذیرید. قبل از پذیرش، مطمئن شوید که با یک حساب گوگل که به Display & Video 360 دسترسی دارد، وارد سیستم شده‌اید. برنامه شما مجاز خواهد بود از طرف هر حسابی که در حال حاضر وارد سیستم شده است، به داده‌ها دسترسی داشته باشد.

    // Set up the client.
    $client->setApplicationName('DBM 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_DoubleClickBidManager($client);
  5. انجام یک عملیات.

    // Configure params for the Queries.listqueries request.
    $optParams = array('pageSize' => 10);
    
    // Execute the request.
    $result = $service->queries->listQueries($optParams);
    
    // Print the retrieved queries.
    if (!empty($result->getQueries())) {
      print('<pre><p>Id Name</p>');
      foreach ($result->getQueries() as $query) {
        printf('<p>%s %s</p>', $query->queryId, $query->metadata->title);
      }
      print('</pre>');
    } else {
      print '<p>No queries exist.</p>';
    }

برای اطلاعات بیشتر در مورد استفاده از API مدیریت پیشنهاد با PHP، به فایل README در مثال‌های API مدیریت پیشنهاد مراجعه کنید.

۴. مراحل بعدی

اکنون که یک کتابخانه کلاینت راه‌اندازی و اجرا کرده‌اید، مستندات مرجع را بررسی کرده و پیاده‌سازی خود را آغاز کنید.

راهنماهای بیشتری نیز در مورد استفاده از گزارش‌های زمان‌بندی‌شده و پیروی از بهترین شیوه‌های گزارش‌دهی موجود است.