Настройте доступ к API

Вот как настроить доступ к API Data Manager с помощью SDK или REST.

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

Прежде чем использовать API данных, убедитесь, что у вас есть следующее:

  1. Проект Google Cloud .
  2. Для доступа к вашему проекту Google Cloud требуется учетная запись Google, имеющая разрешение serviceusage.services.enable , или роль, включающая это разрешение. Например, roles/owner и roles/serviceusage.serviceUsageAdmin содержат разрешение serviceusage.services.enable . Чтобы проверить свои разрешения, см. раздел «Просмотр текущего доступа» .

Включить API

Если вы еще этого не сделали, включите API диспетчера данных, нажав кнопку «Включить API диспетчера данных» , или следуйте инструкциям , чтобы выполнить этот шаг вручную.

Включите API менеджера данных.

Если вы не можете найти API Data Manager или включение API Data Manager не удается, убедитесь, что ваша учетная запись Google соответствует необходимым требованиям .

Настройка аутентификации

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

Два распространенных метода аутентификации — это учетные записи пользователей и служебные учетные записи :

  • Учетные записи пользователей : представляют людей, которые напрямую взаимодействуют с API и сервисами Google.
  • Служебные учетные записи : представляют приложения, а не людей, в качестве пользователей. Они позволяют вашим приложениям управлять аутентификацией и авторизацией. Например, если приложению необходимо получить доступ к ресурсам Google Cloud.

Ваша интеграция может использовать учетные данные по умолчанию для приложений (ADC) для автоматического поиска учетных данных в среде, поэтому вам не нужно изменять клиентский код для аутентификации.

Для настройки ADC выберите имитацию учетной записи пользователя или служебной учетной записи:

Вот шаги для аутентификации с использованием учетных данных пользователя :

  1. Настройте параметры платформы аутентификации Google для вашего проекта.

    1. Откройте страницу «Брендинг» в консоли Google Cloud.

    2. Выберите свой проект.

    3. Заполните форму и нажмите «Создать» .

  2. Поскольку область действия API Data Manager является конфиденциальной , необходимо выполнить следующие шаги:

    1. Перейдите в настройки доступа к данным для вашего проекта.

    2. Нажмите «Добавить или удалить области действия» .

    3. Установите флажок рядом с пунктом «API менеджера данных» в списке областей действия и нажмите «Обновить» .

    4. Нажмите « Сохранить ».

    5. Перейдите в раздел «Аудитория» в консоли Google Cloud и обновите статус публикации и тип пользователя . Подробнее об этих настройках см. в разделе «Управление аудиторией приложений» .

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

    Создание клиента OAuth2

    На последнем шаге нажмите кнопку СКАЧАТЬ КОНФИГУРАЦИЮ КЛИЕНТА и запомните выбранное вами место для загрузки.

  4. Создайте локальный файл ADC, выполнив следующую команду. Эта команда запускает веб-процесс, в котором вам будет предложено войти в учетную запись Google, которую вы используете с API.

    Замените PATH_TO_CLIENT_JSON на имя загруженного вами JSON-файла.

    gcloud auth application-default login \
      --scopes="https://www.googleapis.com/auth/datamanager,https://www.googleapis.com/auth/cloud-platform" \
      --client-id-file="PATH_TO_CLIENT_JSON"
    
  5. Подтвердите правильность настройки учетных данных с помощью следующей команды. В случае успеха команда выведет токен доступа в консоль.

    gcloud auth application-default print-access-token
    

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

Настройка доступа к операционной учетной записи

Предоставьте доступ к Destination электронной почты, связанной с вашей учетной записью пользователя.

  • Если вы используете аккаунт Google Ads или аккаунт партнера по обработке данных, следуйте инструкциям , чтобы добавить адрес электронной почты пользователя в аккаунт.
  • Если вы используете учетную запись Display & Video 360, следуйте инструкциям , чтобы добавить адрес электронной почты пользователя в эту учетную запись.

Настройте SDK для вашего языка программирования.

На локальном компьютере установите выбранный вами SDK:

ОТДЫХ

  1. В приведенном ниже примере обновите поля-заполнители, такие как OPERATING_ACCOUNT_PRODUCT , OPERATING_ACCOUNT_ID и AUDIENCE_ID , указав значения для вашей учетной записи и назначения.
  2. Замените PROJECT_ID на идентификатор вашего проекта в Google Cloud.
  3. Скопируйте образец в командную строку, чтобы отправить запрос.

    Удалите атрибут linkedAccount из записи в списке destinations , если вы не используете для доступа operatingAccount установленную связь с продуктом.

    #!/bin/bash
    
    # Uses gcloud to get an access token. If the Application Default
    # Credentials aren't for a service account, the command that specifies
    # --scopes fails. This sample falls back to the command without the
    # --scopes argument.
    DATA_MANAGER_ACCESS_TOKEN="$(gcloud auth application-default print-access-token --scopes=https://www.googleapis.com/auth/datamanager || \
      gcloud auth application-default print-access-token)"
    
    # Fetches and prints the scope information for the access token. If you
    # get scope-related errors when you send the request in the next step,
    # verify that this output includes the Data Manager API scope:
    #   https://www.googleapis.com/auth/datamanager
    curl https://www.googleapis.com/oauth2/v1/tokeninfo?access_token="${DATA_MANAGER_ACCESS_TOKEN}"
    
    # Sends the request.
    curl -X POST "https://datamanager.googleapis.com/v1/audienceMembers:ingest" \
      --header "Authorization: Bearer ${DATA_MANAGER_ACCESS_TOKEN}" \
      --header "x-goog-user-project: PROJECT_ID" \
      --header "Content-Type: application/json" \
      --data @- <<EOF
    {
      "destinations": [
        {
          "operatingAccount": {
            "accountType": "OPERATING_ACCOUNT_TYPE",
            "accountId": "OPERATING_ACCOUNT_ID"
          },
          "loginAccount": {
            "accountType": "LOGIN_ACCOUNT_TYPE",
            "accountId": "LOGIN_ACCOUNT_ID"
          },
          "linkedAccount": {
            "accountType": "LINKED_ACCOUNT_TYPE",
            "accountId": "LINKED_ACCOUNT_ID"
          },
          "productDestinationId": "AUDIENCE_ID"
        }
      ],
      "audienceMembers": [
        {
          "userData": {
            "userIdentifiers": [
              {
                "emailAddress": "07e2f1394b0ea80e2adca010ea8318df697001a005ba7452720edda4b0ce57b3"
              },
              {
                "emailAddress": "1df6b43bc68dd38eca94e6a65b4f466ae537b796c81a526918b40ac4a7b906c7"
              }
            ]
          }
        },
        {
          "userData": {
            "userIdentifiers": [
              {
                "emailAddress": "2ef46c4214c3fc1b277a2d976d55194e12b899aa50d721f28da858c7689756e3"
              },
              {
                "emailAddress": "54e410b14fa652a4b49b43aff6eaf92ad680d4d1e5e62ed71b86cd3188385a51"
              },
              {
                "emailAddress": "e8bd3f8da6f5af73bec1ab3fbf7beb47482c4766dfdfc94e6bd89e359c139478"
              }
            ]
          }
        },
        {
          "userData": {
            "userIdentifiers": [
              {
                "emailAddress": "05bb62526f091b45d20e243d194766cca8869137421047dc53fa4876d111a6f0"
              },
              {
                "emailAddress": "f1fcde379f31f4d446b76ee8f34860eca2288adc6b6d6c0fdc56d9eee75a2fa5"
              }
            ]
          }
        },
        {
          "userData": {
            "userIdentifiers": [
              {
                "emailAddress": "83a834cc5327bc4dee7c5408988040dc5813c7662611cd93b707aff72bf7d33f"
              },
              {
                "emailAddress": "223ebda6f6889b1494551ba902d9d381daf2f642bae055888e96343d53e9f9c4"
              }
            ]
          }
        }
      ],
      "consent": {
        "adUserData": "CONSENT_GRANTED",
        "adPersonalization": "CONSENT_GRANTED"
      },
      "encoding": "HEX",
      "termsOfService": {
        "customerMatchTermsOfServiceStatus": "ACCEPTED"
      },
      "validateOnly": true
    }
    EOF
    

.СЕТЬ

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

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

Необязательно: получите библиотеку утилит и примеры кода.

  1. Клонируйте репозиторий GitHub .

    git clone https://github.com/googleads/data-manager-dotnet.git
    
  2. В вашем проекте .NET объявите зависимость ProjectReference от библиотеки утилит. Замените PATH_TO_UTILITY_LIBRARY на путь, куда вы клонировали репозиторий data-manager-dotnet .

    <ProjectReference Include="PATH_TO_UTILITY_LIBRARY\Google.Ads.DataManager.Util\src\Google.Ads.DataManager.Util.csproj" />
    
  3. Для форматирования данных используйте утилиту Formatter в вашем проекте .NET.

  4. Примеры кода можно найти в подкаталоге samples или на GitHub .

    Перейдите в каталог samples и используйте dotnet run , чтобы получить список доступных примеров.

    dotnet run
    

    Передайте аргумент --help при запуске примера, чтобы вывести инструкцию по использованию с ожидаемыми параметрами.

    dotnet run -- ingest-audience-members --help
    

    Для начала работы воспользуйтесь примерами данных из файла samples/sampledata/audience_members_1.csv .

Java

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

Если вы используете Maven с BOM , добавьте это в свой файл pom.xml:

  <dependencyManagement>
     <dependencies>
        <dependency>
           <groupId>com.google.cloud</groupId>
           <artifactId>libraries-bom</artifactId>
           <version>26.72.0</version>
           <type>pom</type>
           <scope>import</scope>
        </dependency>
        <dependency>
           <groupId>com.google.api-ads</groupId>
           <artifactId>data-manager-bom</artifactId>
           <version>0.1.0</version>
           <type>pom</type>
           <scope>import</scope>
        </dependency>
     </dependencies>
  </dependencyManagement>

  <dependencies>
     <dependency>
        <groupId>com.google.api-ads</groupId>
        <artifactId>data-manager</artifactId>
     </dependency>
  </dependencies>

Если вы используете Maven без BOM, добавьте это в свои зависимости:

  <dependency>
     <groupId>com.google.api-ads</groupId>
     <artifactId>data-manager</artifactId>
     <version>0.1.0</version>
  </dependency>

Если вы используете Gradle с BOM , добавьте это в ваши зависимости:

  implementation platform('com.google.cloud:libraries-bom:26.72.0')
  implementation platform('com.google.api-ads:data-manager-bom:0.1.0')
  implementation 'com.google.api-ads:data-manager'

Если вы используете Gradle без BOM, добавьте это в ваши зависимости:

  implementation 'com.google.api-ads:data-manager:0.1.0'

Если вы используете SBT, добавьте это в свои зависимости:

  libraryDependencies += "com.google.api-ads" % "data-manager" % "0.1.0"

Необязательно: получите библиотеку утилит и примеры кода.

  1. Клонируйте репозиторий GitHub .

    git clone https://github.com/googleads/data-manager-java.git
    
  2. Перейдите в каталог data-manager-java .

  3. Соберите и опубликуйте библиотеку утилит в локальном репозитории Maven.

    ./gradlew data-manager-util:install
    
  4. В вашем Java-проекте объявите зависимость от этой вспомогательной библиотеки.

    Gradle:

    implementation 'com.google.api-ads:data-manager-util:0.2.0'
    

    Мэйвен:

    <dependency>
       <groupId>com.google.api-ads</groupId>
       <artifactId>data-manager-util</artifactId>
       <version>0.2.0</version>
    </dependency>
    
  5. Для форматирования и шифрования данных используйте утилиты UserDataFormatter и Encrypter в вашем Java-проекте.

  6. Примеры кода можно найти в подкаталоге data-manager-samples или на GitHub . Для запуска примера из командной строки используйте задачу Gradle run .

    Например, следующая команда запускает пример IngestAudienceMembers и выводит инструкцию по его использованию:

    ./gradlew data-manager-samples:run \
       --args='IngestAudienceMembers --help'
    

    Для начала работы воспользуйтесь примерами данных из файла по адресу data-manager-samples/src/main/resources/sampledata/audience_members_1.csv .

Node.js

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

Следуйте инструкциям в руководстве по установке клиентской библиотеки Node.js , чтобы добавить зависимость от клиентской библиотеки @google-ads/datamanager в ваш проект.

Необязательно: получите библиотеку утилит и примеры кода.

  1. Клонируйте репозиторий GitHub .

    git clone https://github.com/googleads/data-manager-node.git
    
  2. Перейдите в каталог data-manager-node .

  3. Выполните следующую команду для установки зависимостей.

    npm install
    
  4. Перейдите в каталог util .

    cd util
    
  5. Выполните следующую команду, чтобы скомпилировать и упаковать библиотеку утилит в файл .tgz для использования с npm .

    npm pack
    

    Эта команда создаст архив с именем google-ads-datamanager-util-0.2.0.tgz . Запомните местоположение файла, чтобы использовать его на следующих шагах.

  6. В вашем проекте Node.js объявите зависимость от библиотеки утилит API Data Manager, добавив запись в dependencies , указав полный путь и имя файла google-ads-datamanager-util-0.2.0.tgz .

    {
       "dependencies": {
          ...
          "@google-ads/data-manager-util": "file:PATH_TO_UTILITY_LIBRARY/google-ads-datamanager-util-0.2.0.tgz",
          ...
       }
    }
    

    Для форматирования данных используйте утилиту UserDataFormatter в вашем проекте Node.js.

  7. Просмотрите примеры кода в подкаталоге samples или на GitHub . Запустите примеры, выполнив следующие шаги:

    1. Перейдите в каталог data-manager-node .

    2. Запустите примеры, передав все необходимые аргументы. При запуске примера передайте аргумент --help , чтобы вывести инструкцию по использованию с ожидаемыми параметрами.

      Например, следующая команда запускает пример ingest_audience_members и выводит инструкцию по его использованию:

      npm run ingest-audience-members -w samples -- --help
      

    Для начала работы воспользуйтесь примерами данных из файла samples/sampledata/audience_members_1.csv .

PHP

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

Следуйте инструкциям в руководстве по установке клиентской библиотеки PHP , чтобы добавить зависимость от клиентской библиотеки googleads/data-manager в ваш проект.

Необязательно: получите библиотеку утилит и примеры кода.

  1. Клонируйте репозиторий GitHub .

    git clone https://github.com/googleads/data-manager-php.git
    
  2. Перейдите в каталог data-manager-php .

  3. Выполните следующую команду, чтобы разрешить зависимости для библиотеки:

    composer update --prefer-dist
    
  4. В файле composer.json вашего PHP-проекта на том же хосте укажите зависимость от вспомогательной библиотеки, выполнив следующие шаги:

    1. Добавьте в раздел repositories запись, указывающую на расположение каталога data-manager-php .

      "repositories" : [
         {
            "type" : "path",
            "url" : "PATH_TO_UTILITY_LIBRARY"
         }
      ]
      
    2. Объявите зависимость от библиотеки утилит.

      "require": {
         "googleads/data-manager-util": "@dev"
      }
      

    Для форматирования данных используйте утилиту Formatter в вашем PHP-проекте.

  5. Просмотрите примеры кода в подкаталоге samples или на GitHub . Запустите примеры, выполнив следующие шаги:

    1. Перейдите в каталог samples .

    2. Выполните следующую команду, чтобы разрешить зависимости для библиотеки:

      composer update --prefer-dist
      
    3. Запустите примеры, передав все необходимые аргументы. При запуске примера передайте аргумент --help , чтобы вывести инструкцию по использованию с ожидаемыми параметрами.

    Для начала работы воспользуйтесь примерами данных из файла samples/sampledata/audience_members_1.csv .

Python

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

Следуйте инструкциям в руководстве по установке клиентской библиотеки Python , чтобы добавить зависимость от клиентской библиотеки google-ads-datamanager в ваш проект.

Необязательно: получите библиотеку утилит и примеры кода.

  1. Клонируйте репозиторий GitHub .

    git clone https://github.com/googleads/data-manager-python.git
    
  2. Перейдите в каталог data-manager-python .

  3. Для установки этой вспомогательной библиотеки в вашу среду Python выполните следующую команду:

    pip install .
    
  4. В вашем проекте на Python объявите зависимость от вспомогательной библиотеки. Например, если вы используете файл requirements.txt в своем проекте, добавьте в него следующую строку:

    google-ads-data-manager-util=0.2.0
    
  5. Для форматирования и шифрования данных используйте утилиты Formatter и Encrypter в вашем проекте Python.

  6. Просмотрите примеры кода в подкаталоге samples или на GitHub . Для запуска примеров установите необходимые зависимости:

    pip install .[samples]
    

    Передайте аргумент --help при запуске примера, чтобы вывести инструкцию по использованию с ожидаемыми параметрами.

    Для начала работы воспользуйтесь примерами данных из файла samples/sampledata/audience_members_1.csv .

Руби

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

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

Следующие шаги