شروع به کار

رابط برنامه‌نویسی کاربردی (API) کمپین منیجر ۳۶۰ (Campaign Manager 360 API) دسترسی برنامه‌ریزی‌شده به اطلاعات حساب کمپین منیجر ۳۶۰ شما را فراهم می‌کند. این رابط برای مدیریت و ایجاد کمپین‌ها و گزارش‌ها استفاده می‌شود، درست همانطور که از طریق سرویس‌های وب کمپین منیجر ۳۶۰ و گزارش‌ساز (Report Builder) این کار را انجام می‌دهید.

این راهنما نحوه شروع به کار با API مدیر کمپین ۳۶۰ را شرح می‌دهد.

پیش‌نیازها

قبل از استفاده از API مدیر کمپین ۳۶۰، چند مرحله پیش‌نیاز وجود دارد که باید آنها را انجام دهید:

  1. شما باید یک حساب کاربری Campaign Manager 360 داشته باشید. برای اطلاعات ثبت نام به Advertisers/Agencys مراجعه کنید.

  2. حساب کاربری Campaign Manager 360 شما باید برای دسترسی به API فعال باشد. اکثر حساب‌ها این قابلیت را به طور پیش‌فرض فعال کرده‌اند؛ اگر مطمئن نیستید، برای راهنمایی با نماینده حساب کاربری خود یا تیم پشتیبانی Campaign Manager 360 تماس بگیرید.

  3. شما باید یک پروفایل کاربری با دسترسی به این حساب داشته باشید. از مدیر حساب کاربری Campaign Manager 360 خود بخواهید یک پروفایل کاربری مرتبط با این حساب ایجاد کند.

  4. مجوزهای پروفایل کاربر را در رابط کاربری Campaign Manager 360 بررسی کنید. این مجوزها مواردی را که پروفایل کاربر می‌تواند از API به آنها دسترسی داشته باشد، کنترل می‌کنند. هیچ مجوز API جداگانه‌ای وجود ندارد.

ایجاد یک پروژه

برای شروع استفاده از API مربوط به Campaign Manager 360، ابتدا باید یک پروژه را در کنسول Google API ایجاد یا انتخاب کنید و API را فعال کنید . استفاده از این لینک شما را در این فرآیند راهنمایی می‌کند و API مربوط به Campaign Manager 360 را به طور خودکار فعال می‌کند.

ایجاد اعتبارنامه

تمام درخواست‌هایی که به API مدیر کمپین ۳۶۰ می‌دهید باید تأیید شوند. برای مرور مختصری از تأیید، در مورد نحوه تأیید و شناسایی درخواست خود به گوگل مطالعه کنید.

دستورالعمل‌های زیر شما را در فرآیند ایجاد شناسه کلاینت OAuth 2.0 برای استفاده در جریان برنامه نصب شده راهنمایی می‌کنند. برای دستورالعمل‌های مربوط به تولید اعتبارنامه‌ها برای استفاده در جریان حساب سرویس، به راهنمای حساب‌های سرویس مراجعه کنید.

  1. مراحل پیکربندی یک پروژه کنسول Google API را دنبال کنید.

  2. صفحه اعتبارنامه‌ها را در کنسول API باز کنید.
  3. روی ایجاد اعتبارنامه‌ها > شناسه کلاینت OAuth کلیک کنید.

    1. اگر قبلاً صفحه رضایت OAuth را برای این پروژه پیکربندی نکرده‌اید، اکنون به شما دستور داده می‌شود که این کار را انجام دهید. روی پیکربندی صفحه رضایت کلیک کنید.

    2. نوع کاربر را انتخاب کنید و روی CREATE کلیک کنید.

    3. فرم اولیه را پر کنید. در صورت نیاز می‌توانید بعداً آن را ویرایش کنید. پس از اتمام، روی ذخیره کلیک کنید.

    4. برای ادامه، به Credentials > CREATE CREDENTIALS > OAuth client ID برگردید.

  4. نوع برنامه را Desktop app انتخاب کنید، یک نام برای آن تعیین کنید و سپس روی Create کلیک کنید.

پس از اتمام، یک شناسه کلاینت OAuth 2.0 و یک رمز کلاینت به شما ارائه می‌شود که می‌توانید آن را با فرمت JSON دانلود کرده و برای استفاده‌های بعدی ذخیره کنید.

نصب کتابخانه کلاینت

رابط برنامه‌نویسی کاربردی (API) کمپین منیجر ۳۶۰ بر پایه HTTP و JSON ساخته شده است، بنابراین هر کلاینت HTTP استانداردی می‌تواند درخواست‌هایی را به آن ارسال کرده و پاسخ‌ها را تجزیه و تحلیل کند.

با این حال، کتابخانه‌های کلاینت API گوگل، یکپارچه‌سازی بهتر زبان، امنیت بهبود یافته و پشتیبانی از ارسال درخواست‌های مجاز را فراهم می‌کنند. کتابخانه‌های کلاینت در تعدادی از زبان‌های برنامه‌نویسی موجود هستند؛ با استفاده از آنها می‌توانید از نیاز به تنظیم دستی درخواست‌های HTTP و تجزیه پاسخ‌ها جلوگیری کنید.

برای شروع، زبان برنامه‌نویسی مورد استفاده برای توسعه را انتخاب کنید.

سی شارپ

آخرین نسخه کتابخانه کلاینت Campaign Manager 360 API برای .NET را نصب کنید. استفاده از NuGet برای مدیریت نصب توصیه می‌شود.

کنسول NuGet Package Manager را باز کنید و دستور زیر را اجرا کنید:

Install-Package Google.Apis.Dfareporting.v3_4

اطلاعات بیشتر

جاوا

آخرین نسخه کتابخانه کلاینت Campaign Manager 360 API برای جاوا را نصب کنید. استفاده از Maven برای مدیریت نصب توصیه می‌شود.

وابستگی زیر را به فایل pom.xml خود اضافه کنید:

<dependency>
  <groupId>com.google.apis</groupId>
  <artifactId>google-api-services-dfareporting</artifactId>
  <version>v4-rev20250722-2.0.0</version>
  <exclusions>
    <exclusion>
      <groupId>com.google.guava</groupId>
      <artifactId>guava-jdk5</artifactId>
    </exclusion>
  </exclusions>
</dependency>

اطلاعات بیشتر

پی اچ پی

آخرین نسخه کتابخانه کلاینت Campaign Manager 360 API را برای PHP نصب کنید. استفاده از Composer برای مدیریت نصب توصیه می‌شود.

یک ترمینال باز کنید و دستور زیر را اجرا کنید:

composer require google/apiclient

اگر قبلاً کتابخانه را نصب کرده‌اید و فقط می‌خواهید آن را به آخرین نسخه به‌روزرسانی کنید:

composer update google/apiclient

بسته به سیستم شما، ممکن است لازم باشد این دستورات را با sudo شروع کنید.

اطلاعات بیشتر

پایتون

آخرین نسخه کتابخانه کلاینت Campaign Manager 360 API برای پایتون را نصب کنید. استفاده از pip برای مدیریت نصب توصیه می‌شود.

یک ترمینال باز کنید و دستور زیر را اجرا کنید:

pip install --upgrade google-api-python-client

بسته به سیستم شما، ممکن است لازم باشد این دستورات را با sudo شروع کنید.

اطلاعات بیشتر

روبی

آخرین نسخه کتابخانه کلاینت Campaign Manager 360 API را برای Ruby نصب کنید. استفاده از RubyGems برای مدیریت نصب توصیه می‌شود.

یک ترمینال باز کنید و دستور زیر را اجرا کنید:

gem install google-api-client

اگر قبلاً کتابخانه را نصب کرده‌اید و فقط می‌خواهید آن را به آخرین نسخه به‌روزرسانی کنید:

gem update -y google-api-client

بسته به سیستم شما، ممکن است لازم باشد این دستورات را با sudo شروع کنید.

اطلاعات بیشتر

زبان‌های پشتیبانی‌شده‌ی بیشتر را می‌توانید در صفحه‌ی کتابخانه‌های کلاینت پیدا کنید.

درخواستی بدهید

با ایجاد اعتبارنامه‌های OAuth 2.0 و نصب کتابخانه کلاینت ، آماده استفاده از API کمپین منیجر ۳۶۰ هستید. با دنبال کردن راهنمای سریع زیر، نحوه تأیید، پیکربندی کلاینت و ارسال اولین درخواست خود را بیاموزید.

سی شارپ

  1. فایل اسرار کلاینت را بارگذاری کنید و اعتبارنامه‌های مجوز را ایجاد کنید.

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

    // Load client secrets from the specified JSON file.
    GoogleClientSecrets clientSecrets;
    using(Stream json = new FileStream(pathToJsonFile, FileMode.Open, FileAccess.Read)) {
      clientSecrets = GoogleClientSecrets.Load(json);
    }
    
    // Create an asynchronous authorization task.
    //
    // Note: providing a data store allows auth credentials to be cached, so they survive multiple
    // runs of the application. This avoids prompting the user for authorization every time the
    // access token expires, by remembering the refresh token. The "user" value is used to
    // identify a specific set of credentials within the data store. You may provide different
    // values here to persist credentials for multiple users to the same data store.
    Task<UserCredential> authorizationTask = GoogleWebAuthorizationBroker.AuthorizeAsync(
        clientSecrets.Secrets,
        OAuthScopes,
        "user",
        CancellationToken.None,
        dataStore);
    
    // Authorize and persist credentials to the data store.
    UserCredential credential = authorizationTask.Result;
  2. یک کلاینت مجاز Dfareporting ایجاد کنید.

    // Create a Dfareporting service object.
    //
    // Note: application name should be replaced with a value that identifies your application.
    service = new DfareportingService(
        new BaseClientService.Initializer {
          HttpClientInitializer = credential,
          ApplicationName = "C# installed app sample"
        }
    );
  3. انجام یک عملیات.

    // Retrieve and print all user profiles for the current authorized user.
    UserProfileList profiles = service.UserProfiles.List().Execute();
    
    foreach (UserProfile profile in profiles.Items) {
      Console.WriteLine("Found user profile with ID {0} and name \"{1}\".",
          profile.ProfileId, profile.UserName);
    }

جاوا

  1. فایل اسرار کلاینت را بارگذاری کنید و اعتبارنامه‌های مجوز را ایجاد کنید.

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

    // Load the client secrets JSON file.
    GoogleClientSecrets clientSecrets =
        GoogleClientSecrets.load(
            jsonFactory, Files.newBufferedReader(Paths.get(pathToClientSecretsFile), UTF_8));
    
    // Set up the authorization code flow.
    //
    // Note: providing a DataStoreFactory allows auth credentials to be cached, so they survive
    // multiple runs of the program. This avoids prompting the user for authorization every time the
    // access token expires, by remembering the refresh token.
    GoogleAuthorizationCodeFlow flow =
        new GoogleAuthorizationCodeFlow.Builder(
                httpTransport, jsonFactory, clientSecrets, OAUTH_SCOPES)
            .setDataStoreFactory(dataStoreFactory)
            .build();
    
    // Authorize and persist credentials to the data store.
    //
    // Note: the "user" value below is used to identify a specific set of credentials in the data
    // store. You may provide different values here to persist credentials for multiple users to
    // the same data store.
    Credential credential =
        new AuthorizationCodeInstalledApp(flow, new LocalServerReceiver()).authorize("user");
  2. یک کلاینت مجاز Dfareporting ایجاد کنید.

    // Create a Dfareporting client instance.
    //
    // Note: application name below should be replaced with a value that identifies your
    // application. Suggested format is "MyCompany-ProductName/Version.MinorVersion".
    Dfareporting reporting =
        new Dfareporting.Builder(credential.getTransport(), credential.getJsonFactory(), credential)
            .setApplicationName("dfareporting-java-installed-app-sample")
            .build();
  3. انجام یک عملیات.

    // Retrieve and print all user profiles for the current authorized user.
    UserProfileList profiles = reporting.userProfiles().list().execute();
    for (int i = 0; i < profiles.getItems().size(); i++) {
      System.out.printf("%d) %s%n", i + 1, profiles.getItems().get(i).getUserName());
    }

پی اچ پی

  1. فایل اسرار کلاینت را بارگذاری کنید و اعتبارنامه‌های مجوز را ایجاد کنید.

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

    // Create a Google_Client instance.
    //
    // Note: application name should be replaced with a value that identifies
    // your application. Suggested format is "MyCompany-ProductName".
    $client = new Google_Client();
    $client->setAccessType('offline');
    $client->setApplicationName('PHP installed app sample');
    $client->setRedirectUri(self::OAUTH_REDIRECT_URI);
    $client->setScopes(self::$OAUTH_SCOPES);
    
    // Load the client secrets file.
    $client->setAuthConfig($pathToJsonFile);
    
    // Try to load cached credentials from the token store. Using a token store
    // allows auth credentials to be cached, so they survive multiple runs of
    // the application. This avoids prompting the user for authorization every
    // time the access token expires, by remembering the refresh token.
    if (file_exists($tokenStore) && filesize($tokenStore) > 0) {
        $client->setAccessToken(file_get_contents($tokenStore));
    } else {
        // If no cached credentials were found, authorize and persist
        // credentials to the token store.
        print 'Open this URL in your browser and authorize the application.';
        printf("\n\n%s\n\n", $client->createAuthUrl());
        print 'Enter the authorization code: ';
        $code = trim(fgets(STDIN));
        $client->authenticate($code);
    
        file_put_contents($tokenStore, json_encode($client->getAccessToken()));
    }
  2. یک کلاینت مجاز Dfareporting ایجاد کنید.

    // Create a Dfareporting service object.
    $service = new Google_Service_Dfareporting($client);
  3. انجام یک عملیات.

    // Retrieve and print all user profiles for the current authorized user.
    $result = $service->userProfiles->listUserProfiles();
    foreach ($result['items'] as $userProfile) {
        printf(
            "User profile \"%s\" (ID: %d) found for account %d.\n",
            $userProfile->getUserName(),
            $userProfile->getProfileId(),
            $userProfile->getAccountId()
        );
    }

پایتون

  1. فایل اسرار کلاینت را بارگذاری کنید و اعتبارنامه‌های مجوز را ایجاد کنید.

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

    # Set up a Flow object to be used if we need to authenticate.
    flow = client.flow_from_clientsecrets(
        path_to_client_secrets_file, scope=OAUTH_SCOPES)
    
    # Check whether credentials exist in the credential store. Using a credential
    # store allows auth credentials to be cached, so they survive multiple runs
    # of the application. This avoids prompting the user for authorization every
    # time the access token expires, by remembering the refresh token.
    storage = Storage(CREDENTIAL_STORE_FILE)
    credentials = storage.get()
    
    # If no credentials were found, go through the authorization process and
    # persist credentials to the credential store.
    if credentials is None or credentials.invalid:
      credentials = tools.run_flow(flow, storage,
                                   tools.argparser.parse_known_args()[0])
    
    # Use the credentials to authorize an httplib2.Http instance.
    http = credentials.authorize(httplib2.Http())
  2. یک کلاینت مجاز Dfareporting ایجاد کنید.

    # Construct a service object via the discovery service.
    service = discovery.build('dfareporting', 'v4', http=http)
  3. انجام یک عملیات.

    # Construct the request.
    request = service.userProfiles().list()
    
    # Execute request and print response.
    response = request.execute()
    
    for profile in response['items']:
      print('Found user profile with ID %s and user name "%s".' %
            (profile['profileId'], profile['userName']))

روبی

  1. فایل اسرار کلاینت را بارگذاری کنید و اعتبارنامه‌های مجوز را ایجاد کنید.

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

    # Load client ID from the specified file.
    client_id = Google::Auth::ClientId.from_file(path_to_json_file)
    
    # Set up the user authorizer.
    #
    # Note: providing a token store allows auth credentials to be cached, so they
    # survive multiple runs of the application. This avoids prompting the user for
    # authorization every time the access token expires, by remembering the
    # refresh token.
    authorizer = Google::Auth::UserAuthorizer.new(
      client_id, [API_NAMESPACE::AUTH_DFAREPORTING], token_store
    )
    
    # Authorize and persist credentials to the data store.
    #
    # Note: the 'user' value below is used to identify a specific set of
    # credentials in the token store. You may provide different values here to
    # persist credentials for multiple users to the same token store.
    authorization = authorizer.get_credentials('user')
    if authorization.nil?
      puts format(
        "Open this URL in your browser and authorize the application.\n\n%s" \
        "\n\nEnter the authorization code:",
        authorizer.get_authorization_url(base_url: OAUTH_REDIRECT_URI)
      )
      code = STDIN.gets.chomp
      authorization = authorizer.get_and_store_credentials_from_code(
        base_url: OAUTH_REDIRECT_URI, code: code, user_id: 'user'
      )
    end
  2. یک کلاینت مجاز Dfareporting ایجاد کنید.

    # Create a Dfareporting service object.
    #
    # Note: application name should be replaced with a value that identifies
    # your application. Suggested format is "MyCompany-ProductName".
    service = API_NAMESPACE::DfareportingService.new
    service.authorization = authorization
    service.client_options.application_name = 'Ruby installed app sample'
    service.client_options.application_version = '1.0.0'
  3. انجام یک عملیات.

    // Retrieve and print all user profiles for the current authorized user.
    UserProfileList profiles = service.UserProfiles.List().Execute();
    
    foreach (UserProfile profile in profiles.Items) {
      Console.WriteLine("Found user profile with ID {0} and name \"{1}\".",
          profile.ProfileId, profile.UserName);
    }

بیشتر بدانید

برای آشنایی با تمام خدماتی که API ارائه می‌دهد، به مرجع API مراجعه کنید. هر صفحه جزئیات متد دارای یک API Explorer تعبیه شده است که می‌توانید از آن برای ارسال درخواست‌های تست مستقیماً از مرورگر خود استفاده کنید.

راهنماهای دیگر ما را که مباحث پیشرفته را پوشش می‌دهند و مثال‌های کاملی برای کارهای رایج ارائه می‌دهند، مرور کنید.

وقتی آماده شروع به کدنویسی شدید، می‌توانید مجموعه گسترده نمونه‌های کد ما را بررسی کنید که می‌توانند متناسب با نیازهای شما اصلاح و گسترش یابند.