Вы можете создавать и обновлять ресурсы, включая ресурсы 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.')