Bạn có thể tạo và cập nhật tài nguyên (bao gồm cả tài nguyên trên YouTube) theo cách có lập trình và hàng loạt bằng cách tải Tệp dữ liệu có cấu trúc lên bằng Display & Video 360 API. Trang này thảo luận về cách chuẩn bị và tải một Tệp dữ liệu có cấu trúc lên bằng API.
Mỗi ngày, một dự án trên Google Cloud chỉ có thể tải lên tối đa 30 Tệp dữ liệu có cấu trúc cho mỗi mã nhận dạng nhà quảng cáo.
Chuẩn bị tệp dữ liệu có cấu trúc để tải lên
Tệp dữ liệu có cấu trúc được tải lên phải là phiên bản đã sửa đổi của Tệp dữ liệu có cấu trúc đã tải xuống gần đây có cùng loại tệp và của cùng một nhà quảng cáo. Chuẩn bị tệp dữ liệu có cấu trúc đã tải xuống để tải lên bằng cách cập nhật các thông tin sau:
- Thêm các mục cho mọi tài nguyên mới mà bạn muốn tạo.
- Cập nhật mọi mục hiện có cho những tài nguyên mà bạn muốn cập nhật.
- Xoá mọi mục không phải là mục mới hoặc đã được cập nhật để giảm kích thước tệp, tăng tốc thời gian xử lý và giảm khả năng xảy ra mọi nội dung cập nhật ngoài ý muốn.
Hãy xác minh những thông tin sau trước khi tải tệp lên:
- Tệp này là tệp
CSV. - Tất cả các mục trong tệp đều dành cho các tài nguyên thuộc cùng một nhà quảng cáo gốc.
- Tệp không có quá 10.000 mục.
Tải tệp lên
Tải Tệp dữ liệu có cấu trúc lên bằng phương thức advertisers.sdfuploadtasks.upload. Yêu cầu này sẽ tạo một tác vụ tải SDF lên Operation. Thao tác kéo dài này sẽ xử lý tệp đã tải lên, tạo và cập nhật tài nguyên dựa trên nội dung tệp, đồng thời tạo các tệp kết quả liệt kê những nội dung cập nhật thành công và không thành công.
Sau đây là cách tải Tệp dữ liệu có cấu trúc lên và truy xuất Operation thu được:
# 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.')