Начать

API Менеджера кампании 360 обеспечивает программный доступ к информации из вашей учетной записи Менеджера кампании 360. Он используется для управления кампаниями и отчетами и их создания так же, как и через веб-службы Campaign Manager 360 и Report Builder.

В этом руководстве описывается, как начать работу с API Менеджера кампаний 360.

Предварительные условия

Прежде чем использовать API Менеджера кампаний 360, вам необходимо выполнить несколько обязательных шагов:

  1. У вас должен быть аккаунт Менеджера кампаний 360. Информацию о регистрации см. в разделе «Рекламодатели/агентства» .

  2. В вашей учетной записи Менеджера кампании 360 должен быть включен доступ к API. В большинстве учетных записей это включено по умолчанию; Если вы не уверены, обратитесь за помощью к представителю вашего аккаунта или в службу поддержки Менеджера кампании 360 .

  3. У вас должен быть профиль пользователя с доступом к этой учетной записи. Попросите администратора учетной записи Менеджера кампаний 360 создать профиль пользователя, связанный с этой учетной записью.

  4. Проверьте разрешения профиля пользователя в пользовательском интерфейсе Менеджера кампании 360. Они контролируют, к чему профиль пользователя может получить доступ через API. Отдельные разрешения API отсутствуют.

Создать проект

Чтобы начать использовать API Менеджера кампаний 360, вам необходимо сначала создать или выбрать проект в консоли Google API и включить API . Используя эту ссылку, вы пройдете весь процесс и автоматически активирует API Менеджера кампаний 360.

Следующие шаги применимы к пользователям, у которых есть существующий проект и которые предпочитают активировать для него API Менеджера кампаний 360 вручную.

Чтобы включить API для вашего проекта, сделайте следующее:

  1. Откройте библиотеку API в консоли Google API. При появлении запроса выберите проект или создайте новый. В библиотеке API перечислены все доступные API, сгруппированные по семействам продуктов и популярности.
  2. Если API, который вы хотите включить, не отображается в списке, воспользуйтесь поиском, чтобы найти его.
  3. Выберите API, который вы хотите включить, затем нажмите кнопку «Включить» .
  4. Если будет предложено, включите выставление счетов.
  5. Если будет предложено, примите Условия обслуживания API.

Создать учетные данные

Все запросы к API Менеджера кампаний 360 должны быть авторизованы. Краткий обзор авторизации читайте о том, как авторизовать и идентифицировать свое приложение в Google .

Следующие инструкции помогут вам создать идентификатор клиента OAuth 2.0 для использования в потоке установленного приложения . Инструкции по созданию учетных данных для использования с потоком учетных записей служб см. в руководстве по учетным записям служб .

  1. Следуйте инструкциям по настройке проекта консоли Google API .

  2. Откройте страницу «Учетные данные» в консоли API.
  3. Нажмите СОЗДАТЬ УЧЕТНЫЕ ДАННЫЕ > Идентификатор клиента OAuth .

    1. Если вы ранее не настроили экран согласия OAuth для этого проекта, вам будет предложено сделать это сейчас. Нажмите НАСТРОЙКА ЭКРАНА СОГЛАСИЯ .

    2. Выберите тип пользователя и нажмите СОЗДАТЬ .

    3. Заполните первоначальную форму. При необходимости вы можете отредактировать это позже. Нажмите «Сохранить» , когда закончите.

    4. Вернитесь в раздел «Учетные данные» > «СОЗДАТЬ УЧЕТНЫЕ ДАННЫЕ» > «Идентификатор клиента OAuth», чтобы продолжить.

  4. Выберите «Настольное приложение» в качестве типа приложения, дайте ему имя и нажмите «Создать» .

По завершении вам будет представлен идентификатор клиента OAuth 2.0 и секрет клиента, которые вы сможете скачать в формате JSON и сохранить для дальнейшего использования.

Когда вы используете OAuth 2.0 для аутентификации, ваши пользователи аутентифицируются после того, как они соглашаются с условиями, представленными им на экране согласия пользователя.

Чтобы настроить экран согласия вашего проекта, выполните следующие действия:

  1. Откройте страницу «Экран согласия» в консоли Google API. При появлении запроса выберите проект или создайте новый.
  2. Заполните форму и нажмите Сохранить .

Установить клиентскую библиотеку

API Менеджера кампаний 360 построен на основе HTTP и JSON, поэтому любой стандартный HTTP-клиент может отправлять ему запросы и анализировать ответы.

Однако клиентские библиотеки Google API обеспечивают лучшую языковую интеграцию, повышенную безопасность и поддержку авторизованных запросов. Клиентские библиотеки доступны на нескольких языках программирования; используя их, вы можете избежать необходимости вручную настраивать HTTP-запросы и анализировать ответы.

Чтобы начать, выберите язык программирования, который вы используете для разработки.

Установите последнюю версию клиентской библиотеки API Менеджера кампании 360 для .NET . Для управления установкой рекомендуется использовать NuGet .

Откройте консоль диспетчера пакетов NuGet и выполните следующую команду:

Install-Package Google.Apis.Dfareporting.v3_4

Узнать больше

Установите последнюю версию клиентской библиотеки API Менеджера кампании 360 для Java . Для управления установкой рекомендуется использовать Maven .

Добавьте следующую зависимость в файл pom.xml :

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

Узнать больше

Установите последнюю версию клиентской библиотеки API Менеджера кампании 360 для PHP . Для управления установкой рекомендуется использовать Composer .

Откройте терминал и выполните следующую команду:

composer require google/apiclient

Если вы уже установили библиотеку и просто хотите обновить ее до последней версии:

composer update google/apiclient

В зависимости от вашей системы вам может потребоваться добавить к этим командам sudo .

Узнать больше

Установите последнюю версию клиентской библиотеки API Менеджера кампании 360 для Python . Для управления установкой рекомендуется использовать pip .

Откройте терминал и выполните следующую команду:

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

В зависимости от вашей системы вам может потребоваться добавить к этим командам sudo .

Узнать больше

Установите последнюю версию клиентской библиотеки API Менеджера кампании 360 для Ruby . Для управления установкой рекомендуется использовать RubyGems .

Откройте терминал и выполните следующую команду:

gem install google-api-client

Если вы уже установили библиотеку и просто хотите обновить ее до последней версии:

gem update -y google-api-client

В зависимости от вашей системы вам может потребоваться добавить к этим командам sudo .

Узнать больше

Дополнительные поддерживаемые языки можно найти на странице «Клиентские библиотеки» .

Сделать запрос

Создав учетные данные OAuth 2.0 и установив клиентскую библиотеку , вы готовы начать использовать API Менеджера кампаний 360. Узнайте, как авторизоваться, настроить клиент и сделать первый запрос, следуя приведенному ниже краткому руководству.

  1. Загрузите файл секретов клиента и сгенерируйте учетные данные для авторизации.

    При первом выполнении этого шага вам будет предложено принять запрос на авторизацию в браузере. Прежде чем принять предложение, убедитесь, что вы вошли в систему под учетной записью Google, у которой есть доступ к Менеджеру кампаний 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. Загрузите файл секретов клиента и сгенерируйте учетные данные для авторизации.

    При первом выполнении этого шага вам будет предложено принять запрос на авторизацию в браузере. Прежде чем принять предложение, убедитесь, что вы вошли в систему под учетной записью Google, у которой есть доступ к Менеджеру кампаний 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. Загрузите файл секретов клиента и сгенерируйте учетные данные для авторизации.

    При первом выполнении этого шага вам будет предложено принять запрос на авторизацию в браузере. Прежде чем принять предложение, убедитесь, что вы вошли в систему под учетной записью Google, у которой есть доступ к Менеджеру кампаний 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. Загрузите файл секретов клиента и сгенерируйте учетные данные для авторизации.

    При первом выполнении этого шага вам будет предложено принять запрос на авторизацию в браузере. Прежде чем принять предложение, убедитесь, что вы вошли в систему под учетной записью Google, у которой есть доступ к Менеджеру кампаний 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. Загрузите файл секретов клиента и сгенерируйте учетные данные для авторизации.

    При первом выполнении этого шага вам будет предложено принять запрос на авторизацию в браузере. Прежде чем принять предложение, убедитесь, что вы вошли в систему под учетной записью Google, у которой есть доступ к Менеджеру кампаний 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, который можно использовать для выполнения тестовых запросов непосредственно из браузера.

Ознакомьтесь с другими нашими руководствами, в которых рассматриваются сложные темы и приводятся комплексные примеры решения распространенных задач.

Когда вы будете готовы приступить к написанию кода, изучите нашу обширную коллекцию примеров кода , которая может быть изменена и расширена в соответствии с вашими потребностями.