Загрузить файл структурированных данных

Вы можете создавать и обновлять ресурсы, включая ресурсы YouTube, программно и массово, загружая структурированные файлы данных с помощью API Display & Video 360. На этой странице обсуждается, как подготовить и загрузить структурированный файл данных с помощью API.

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

Подготовьте структурированный файл данных для загрузки

Загруженные структурированные файлы данных должны быть измененными версиями недавно загруженных структурированных файлов данных того же типа и от того же рекламодателя. Подготовьте загруженный структурированный файл данных для загрузки, выполнив следующие обновления:

  • Добавьте записи для любых новых ресурсов, которые вы хотите создать.
  • Обновите все существующие записи для ресурсов, которые вы хотите обновить.
  • Удалите все записи, которые не являются новыми или обновленными, чтобы уменьшить размер файла, ускорить время обработки и исключить вероятность непреднамеренных обновлений.

Перед загрузкой файла проверьте следующее:

  • Файл представляет собой CSV -файл.
  • Все записи в файле относятся к ресурсам одного и того же родительского рекламодателя.

Загрузить файл

Загрузите структурированный файл данных с помощью метода advertisers.sdfuploadtasks.upload . Этот запрос создает задачу загрузки SDF Operation . Эта длительная операция обрабатывает загруженный файл, создает и обновляет ресурсы на основе содержимого файла и генерирует файлы результатов, в которых перечислены успешные и неудачные обновления.

Вот как загрузить структурированный файл данных и получить результирующую Operation :

# Import the object used as the media body for the upload request.
from apiclient.http import MediaFileUpload

# Provide the parent advertiser ID for the resources in the SDF.
# The ID value must be a str and not an int.
advertiser_id = advertiser-id

# Provide the filename and local path to the media file.
sdf_filename = sdf-filename
sdf_path = sdf-path

# Create the request body.
body = {
  'filename': sdf_filename,
  'advertiserId': advertiser_id
}

# Create the upload object and use a default MIME type if not identified.
media = MediaFileUpload(sdf_path)
if not media.mimetype():
  media = MediaFileUpload(sdf_filename,'application/octet-stream')

# Upload the structured data file.
upload_response = service.advertisers().sdfuploadtasks().upload(
  advertiserId=advertiser_id,
  body=body,
  media_body=media
).execute()

# Print resulting Operation name.
print(f'SDF was successfully uploaded. Operation {upload_response["name"]} was '
       'created to process the uploaded file.')