Уведомление

Доступно только в Google Менеджере рекламы 360.

Доступ к сегментам передачи данных

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

Выберите нужный раздел:

Роли пользователей и разрешения

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

Изменять роли пользователей могут администраторы сети или те, кому предоставлено разрешение Изменение пользователей, ролей и команд на вкладке "Администрирование". Учтите, что любому пользователю можно назначить только одну роль.

Дополнительную информацию можно найти в статье как управлять ролями пользователей.

Как посмотреть, какие разрешения есть у определенной роли

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

  1. Войдите в Google Менеджер рекламы.
  2. Нажмите Администрирование > Доступ и авторизация.
  3. Выберите Роли и нажмите на название роли.
  4. В разделе "Отчетность" найдите разрешение "Просмотр сегментов передачи данных".
    Example of where to give user role access to view data transfer buckets in Google Ad Manager
  5. При необходимости активируйте это разрешение для роли, установив флажок.

Как можно получить доступ к сегментам передачи данных

Google Cloud Storage – это отдельный продукт Google, предназначенный для хранения данных в облаке. Менеджер рекламы применяет этот сервис в качестве хранилища данных, используемых такими функциями, как отчеты по передаче данных и массовая загрузка идентификаторов файлов cookie в сегменты аудитории.

Приведенная здесь информация поможет вам интегрировать стандартные технологии Google Cloud Storage с конфигурацией облачного хранения в Менеджере рекламы. Основным источником информации о Google Cloud Storage является сайт для разработчиков.

Есть три варианта доступа к сегментам облачного хранилища Менеджера рекламы. Они перечислены ниже в порядке возрастания сложности.

  • Через веб-интерфейс. Откройте страницу https://console.developers.google.com/storage/gdfp-[код сети Менеджера рекламы].
  • С помощью инструмента gsutil. Это инструмент командной строки на языке Python, который позволяет управлять данными в хранилище с помощью команд, аналогичных используемым в Unix. Аутентификация сегмента выполняется абстрактным методом и обрабатывается автоматически.
  • API Google Cloud Storage. Полнофункциональный API для работы с данными хранилища, доступный через веб-интерфейсы JSON и XML RESTful. Существует множество клиентских библиотек API, написанных на популярных языках программирования, в том числе Java, JavaScript, Python и Objective-C. Этот способ удобен, если вам нужно программно интегрировать сегменты хранилища с приложением Google App Engine или веб-приложением Java.

В этой статье содержится дополнительная информация о работе с Google Cloud Storage API. Поскольку веб-интерфейс и доступ через gsutil проще для освоения, чем Google Cloud Storage API, рекомендуем вам сначала ознакомиться с этими методами. Полную информацию о них можно найти на сайте для разработчиков Google Cloud Storage.

Как использовать Google Cloud Storage API

Если вы решили, что вам лучше всего подходит доступ через API, рекомендуем вам настроить аккаунт сервиса в Google Cloud Storage.

Как настроить сервисный аккаунт в Google Cloud Storage

Для доступа к сегментам хранилища через API желательно использовать сервисный аккаунт, а не аккаунт для пользователей. Аккаунты сервиса упрощают вам разработку приложений за счет использования секретного ключа для аутентификации вместо динамически генерируемого токена OAuth. Чтобы настроить сервисный аккаунт, выполните следующие действия:

  1. Откройте Google Developer Console.

  2. Создайте проект или нажмите на название существующего. В этом проекте вы будете разрабатывать свое приложение.

  3. Если вы собираетесь переносить файлы из сегмента хранилища Менеджера рекламы в собственный аккаунт Google Cloud Storage, нажмите Оплата и настройки и добавьте в проект источник оплаты (необязательно).

  4. Создайте идентификатор клиента. Для этого выполните следующие действия:

    1. Нажмите APIs & Services > Credentials (API и сервисы > Учетные данные).

    2. Нажмите Create new Client ID (Создать идентификатор клиента).

    3. Установите переключатель в положение Service account (Аккаунт сервиса) и нажмите кнопку Create Client ID (Создать идентификатор клиента).

    4. Автоматически созданный адрес электронной почты имеет формат [уникальный идентификатор]@developer.gserviceagccount.com. Добавьте пользователя служебного аккаунта в сеть Менеджера рекламы и дайте ему роль с разрешением "Просмотр сегментов передачи данных".

    5. Нажмите кнопку Generate new P12 key (Создать новый ключ P12) и сохраните файл на компьютере. Этот ключ можно использовать в разрабатываемых приложениях для доступа к API (см. пример кода ниже).

  5. Доступ к вашим сегментам передачи данных в Менеджере рекламы будет предоставлен пользователям с разрешением "Просмотр сегментов передачи данных".
Пример кода

Google предоставляет примеры кода и библиотек для Google Cloud Storage. Ниже приведен пример кода Java, который считывает файл из сегмента облачного хранилища Менеджера рекламы. Этот пример поможет вам понять, как использовать в коде созданные выше компоненты.

  • Project name. Название проекта Google Cloud Storage.

  • Service account email address. Адрес электронной почты, созданный в процессе настройки аккаунта сервиса.

  • .p12 key file. Файл ключа P12, скачанный в процессе настройки.

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

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.security.GeneralSecurityException;
import java.util.Collections;

import com.google.api.client.googleapis.auth.oauth2.GoogleCredential;
import com.google.api.client.googleapis.javanet.GoogleNetHttpTransport;
import com.google.api.client.http.HttpTransport;
import com.google.api.client.json.jackson2.JacksonFactory;
import com.google.api.services.storage.Storage;
import com.google.api.services.storage.model.StorageObject;

public class GcsApiTest {
    /**
     * Название проекта, которое использовалось при создании сервисного аккаунта.
     * 
     * Эта информация доступна в Google Developers Console.
     */
    private static final String PROJECT_NAME = "название проекта";

    /**
     * Адрес электронной почты разработчика, указанный в сервисном аккаунте.
     * 
     * Этот адрес электронной почты генерируется после создания
     * идентификатора клиента при настройке сервисного аккаунта
     * в Google Developers Console. Его можно найти
     * на странице учетных данных (Credentials). 
     */
    private static final String SERVICE_ACCOUNT_EMAIL = "адрес электронной почты в сервисном аккаунте";

    /**
     * Сегмент, который будет использоваться для операций хранения.
     * 
     * Название этого сегмента вам должен был предоставить менеджер аккаунта. Приблизительный формат названия – gdfp-12345678 или
     * gdfp_cookieupload_12345678 в зависимости от того, какое дополнение
     * Менеджера рекламы вы используете.
     */
    private static final String BUCKET_NAME = "название сегмента";

    /**
     * Область чтения/записи OAuth 2.0 Google Cloud Storage. Должна
     * соответствовать правам доступа, установленным для разрешения "Просмотр сегментов передачи данных"  
     * для сегмента. Нельзя запрашивать права доступа, которые отличаются от предоставленных 
     * с помощью разрешения.
     */
    private static final String STORAGE_SCOPE = 
        "https://googleapis.com/auth/devstorage.read_write";

    /**
     * Путь к файлу key.p12, который обеспечивает доступ к сегменту.
     * Этот файл создается вместе с идентификатором клиента в аккаунте сервиса. Если у вас
     * нет этого файла, вам нужно создать новый ключ P12
     * в Google Developers Console.
     */
    private static final String KEY_P12 = "путь к файлу ключа P12";

    /** HTTP-транспорт. */
    private HttpTransport httpTransport;
    private Storage storage;

    // Этот конструктор создает учетные данные и объекты хранения.
    public GcsApiTest() {
	File p12File = new File(KEY_P12);

	try {
	    httpTransport = GoogleNetHttpTransport.newTrustedTransport();

	    GoogleCredential credential = new GoogleCredential.Builder()
		    .setTransport(httpTransport)
		    .setJsonFactory(JacksonFactory.getDefaultInstance())
		    .setServiceAccountId(SERVICE_ACCOUNT_EMAIL)
		    .setServiceAccountScopes(
			    Collections.singleton(STORAGE_SCOPE))
		    .setServiceAccountPrivateKeyFromP12File(p12File).build();
	    storage = new Storage.Builder(httpTransport,
		    JacksonFactory.getDefaultInstance(), credential)
		    .setApplicationName(PROJECT_NAME).build();
	} catch (GeneralSecurityException | IOException e1) {
	    e1.printStackTrace();
	    System.exit(1);
	}
    }

    /**
     * Этот метод возвращает имя первого файла в сегменте.
     * 
     * @возвращает имя файла или null, если сегмент пустой.
     * @генерирует исключение IOException.
     */
    public String GetFirstFile() throws IOException {
	Storage.Objects.List listObjects = storage.objects().list(BUCKET_NAME);
	listObjects.setMaxResults(5L);
	com.google.api.services.storage.model.Objects objects = listObjects
		.execute();

	// пустой сегмент?
	if (null == objects.getItems() || objects.getItems().isEmpty()) {
	    System.out.println("Bucket \"" + BUCKET_NAME
		    + "\" empty or invalid.");
	    return null;
	}

	StorageObject object = objects.getItems().get(0);
	System.out.println("Первый объект в сегменте: \"" + object.getName()
		+ "\".");
	return object.getName();
    }

    /**
     * Метод загрузки указанного файла из сегмента хранилища.
     * 
     * @param filename
     *            Имя скачиваемого файла.
     * @генерирует исключение IOException.
     */
    public void DownloadFile(String filename) throws IOException {
	Storage.Objects.Get getObject = storage.objects().get(BUCKET_NAME,
		filename);
	OutputStream os = new FileOutputStream(filename, true);
	getObject.getMediaHttpDownloader().setDirectDownloadEnabled(true);
	getObject.executeMediaAndDownloadTo(os);

	System.out.println("Файл \"" + filename + "\" скачан.");
    }

    /**
     * Основной метод выполнения различных тестов.
     * 
     * @param args
     */
    public static void main(String[] args) {
	GcsApiTest gcsApiTest = new GcsApiTest();

	try {
	    String filename = gcsApiTest.GetFirstFile();
	    gcsApiTest.DownloadFile(filename);
	} catch (IOException e) {
	    System.out.println(e.getMessage());
	}
    }
}

Ограничения на количество одновременных подключений

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

Самая актуальная информация по теме этой статьи представлена в официальном блоге Google Code (раздел Google Cloud Storage), а вопросы можно задавать на форуме Google Cloud Storage. В теме сообщения укажите Bug (Ошибка) или Feature Request (Запрос на реализацию функции). Ответы на другие вопросы о Google Cloud Storage можно найти в разделе часто задаваемых вопросов.

Эта информация оказалась полезной?

Как можно улучшить эту статью?
Поиск
Очистить поле поиска
Закрыть поиск
Главное меню
1903341106020304192
true
Поиск по Справочному центру
true
true
true
true
true
148
false
false
false
false