Уведомление

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

Наразі ця сторінка недоступна вашою мовою. Ви можете вибрати іншу мову внизу екрана або миттєво перекласти будь-яку веб-сторінку потрібною мовою за допомогою вбудованої функції перекладу Google Chrome.

Доступ к сегментам хранилища Менеджера рекламы

Как скачать файлы передачи данных

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. Вы не увидите их в своем списке проектов Google Developers Console.

В процессе настройки (совместно с представителем Google) функций, которые зависят от сегментов хранения Менеджера рекламы, вам будет предоставлена группа Google для управления этими сегментами.

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

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

Управлять сегментами хранилища Менеджера рекламы можно только с помощью групп, входящих в G Suite.

Использование Google Cloud Storage API

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

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

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

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

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

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

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

    1. Нажмите API и сервисы > Учетные данные.

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

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

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

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

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

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). Этот адрес электронной также нужно добавить в группу
     * Google, через которую осуществляется управление доступом к сегменту хранения.
     */
    private static final String SERVICE_ACCOUNT_EMAIL = "адрес электронной почты в аккаунте сервиса";

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

    /**
     * Область чтения/записи OAuth 2.0 Google Cloud Storage. Должна
     * соответствовать правам доступа, установленным для сегмента в вашей
     * группе Google. Нельзя запрашивать права, которые отличаются от предоставленных
     * группе (это могут быть права read_only).
     */
    private static final String STORAGE_SCOPE = 
        "https://www.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 можно найти в разделе часто задаваемых вопросов.

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

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