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

Вот как настроить доступ к API диспетчера данных с помощью SDK или REST.

Предпосылки

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

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

Включить API

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

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

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

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

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

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

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

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

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

Учетная пользователя.

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

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

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

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

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

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

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

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

    3. Установите флажок рядом с Data Manager 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. Загрузите и распакуйте data-manager-dotnet.tar.gz .

  2. В вашем проекте .NET объявите зависимость ProjectReference от библиотеки утилит. Замените PATH_TO_UTILITY_LIBRARY на путь, куда вы извлекли каталог data-manager-dotnet из data-manager-dotnet.tar.gz .

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

  4. Просмотрите примеры кода в подкаталоге samples .

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

    dotnet run
    

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

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

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

Ява

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

  1. Загрузите и распакуйте google-cloud-ads-datamanager-v1-java.tar.gz .
  2. Перейдите в каталог google-cloud-ads-datamanager-v1-java .
  3. Выполните следующую команду, чтобы собрать и опубликовать библиотеку в локальном репозитории Maven для использования с Maven или Gradle.

    ./gradlew install
    
  4. В вашем проекте Java объявите зависимость от библиотеки API Data Manager.

    Gradle:

    implementation 'com.google.cloud:gapic-google-cloud-ads-datamanager-v1-java:0.1.4'
    

    Мейвен:

    <dependency>
      <groupId>com.google.cloud</groupId>
      <artifactId>gapic-google-cloud-ads-datamanager-v1-java</artifactId>
      <version>0.1.4</version>
    </dependency>
    

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

  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.1.0'
    

    Мейвен:

    <dependency>
       <groupId>com.google.api-ads</groupId>
       <artifactId>data-manager-util</artifactId>
       <version>0.1.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

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

  1. Загрузите и распакуйте ads-datamanager-v1-nodejs.tar.gz .
  2. Перейдите в каталог ads-datamanager-v1-nodejs .
  3. Выполните следующую команду, чтобы скомпилировать и упаковать клиентскую библиотеку в файл .tgz для использования с npm .

    npm pack
    

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

  4. В проекте Node.js объявите зависимость от клиентской библиотеки API диспетчера данных, добавив запись dependencies для полного пути и имени файла google-cloud-datamanager-0.1.4.tgz .

    {
       "dependencies": {
          ...
          "@google-cloud/datamanager": "file:PATH_TO_CLIENT_LIBRARY/google-cloud-datamanager-0.1.4.tgz",
          ...
       }
    }
    

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

  1. Загрузите и распакуйте data-manager-node.tar.gz .
  2. Перейдите в каталог data-manager-node .
  3. Перейдите в каталог util .

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

    npm pack
    

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

  5. В проекте Node.js объявите зависимость от библиотеки служебных программ API диспетчера данных, добавив запись dependencies для полного пути и имени файла google-ads-datamanager-util-0.1.0.tgz .

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

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

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

    1. Скопируйте файл google-cloud-datamanager-0.1.4.tgz в родительский каталог каталога data-manager-node .

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

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

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

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

      npx ts-node audiences/ingest_audience_members.ts --help
      

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

PHP

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

  1. Загрузите и распакуйте google-cloud-ads-datamanager-v1-php.tar.gz .
  2. Перейдите в каталог google-cloud-ads-datamanager-v1-php .
  3. Выполните следующую команду для разрешения зависимостей библиотеки:

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

    1. Добавьте раздел repositories , указывающий на расположение каталога google-cloud-ads-datamanager-v1-php .

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

      "require": {
         "googleads/data-manager": "0.1.4"
      }
      

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

  1. Загрузите и распакуйте data-manager-php.tar.gz .
  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 . Запустите примеры, выполнив следующие шаги:

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

    2. Задайте для переменной среды DATA_MANAGER_PHP_LIB путь, по которому вы извлекли клиентскую библиотеку.

      export DATA_MANAGER_PHP_LIB="PATH_TO_CLIENT_LIBRARY"
      
    3. Выполните следующую команду для разрешения зависимостей библиотеки:

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

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

Питон

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

  1. Загрузитеads-datamanager-v1-py.tar.gz .
  2. Перейдите в каталог загрузки.
  3. Выполните следующую команду, чтобы собрать библиотеку и сделать ее доступной для других проектов в той же среде Python:

    pip install ./ads-datamanager-v1-py.tar.gz
    
  4. В вашем проекте Python объявите зависимость от библиотеки API Data Manager. Например, если в вашем проекте используется файл requirements.txt , добавьте в него следующую строку:

    google-ads-data-manager=0.1.4
    

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

  1. Загрузите и распакуйте data-manager-python.tar.gz .
  2. Перейдите в каталог data-manager-python .
  3. Чтобы установить библиотеку утилит в вашей среде Python, выполните следующую команду:

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

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

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

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

Руби

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

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

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