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

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

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

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

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

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

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

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

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

Загрузите структурированный файл данных с помощью метода 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.')