คุณสามารถสร้างและอัปเดตทรัพยากรต่างๆ รวมถึงทรัพยากรของ YouTube ได้อย่างมีโปรแกรมและเป็นกลุ่ม โดยการอัปโหลดไฟล์ข้อมูลที่มีโครงสร้างโดยใช้ Display & Video 360 API หน้านี้จะอธิบายวิธีเตรียมและอัปโหลดไฟล์ Structured Data โดยใช้ API
โปรเจ็กต์ Google Cloud อัปโหลดไฟล์ข้อมูลที่มีโครงสร้างได้เพียง 30 ไฟล์ต่อรหัสผู้ลงโฆษณา 1 รายการต่อวัน
เตรียมไฟล์ข้อมูลที่มีโครงสร้างเพื่ออัปโหลด
ไฟล์ข้อมูลที่มีโครงสร้างที่อัปโหลดควรเป็นไฟล์ที่มีการปรับเปลี่ยนจากไฟล์ข้อมูลที่มีโครงสร้างที่ดาวน์โหลดมาล่าสุด ซึ่งเป็นไฟล์ประเภทเดียวกันและมาจากผู้โฆษณารายเดียวกัน เตรียมไฟล์ข้อมูลโครงสร้างที่ดาวน์โหลดสำหรับการอัปโหลดโดยทำการอัปเดตดังต่อไปนี้:
- เพิ่มรายการสำหรับทรัพยากรใหม่ใด ๆ ที่คุณต้องการสร้าง
- อัปเดตรายการที่มีอยู่สำหรับทรัพยากรที่ต้องการอัปเดต
- ลบรายการใดๆ ที่ไม่ใช่รายการใหม่หรือรายการที่ไม่ได้อัปเดต เพื่อลดขนาดไฟล์ เร่งเวลาในการประมวลผล และขจัดความเป็นไปได้ที่จะเกิดการอัปเดตที่ไม่ได้ตั้งใจ
โปรดตรวจสอบสิ่งต่อไปนี้ก่อนอัปโหลดไฟล์
- ไฟล์นี้เป็นไฟล์
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.')