ไลบรารีไคลเอ็นต์นี้ทำให้การเข้าถึง Google Ad Manager SOAP API ง่ายขึ้น ไลบรารีมีวิธีง่ายๆ ในการจัดเก็บการรับรองความถูกต้องของคุณและสร้างไคลเอนต์บริการเว็บ SOAP นอกจากนี้ยังมีโค้ดตัวอย่างเพื่อช่วยให้คุณเริ่มต้นบูรณาการกับ API ของเรา
ดาวน์โหลดและติดตั้งไลบรารี
setuptools เป็นข้อกำหนดเบื้องต้นสำหรับการติดตั้งไลบรารี Googleads
ขอแนะนำให้คุณติดตั้งไลบรารีและการขึ้นต่อกันจาก PyPI โดยใช้ pip สามารถทำได้ด้วยคำสั่งเดียว:
$ pip install googleads
อีกทางเลือกหนึ่ง คุณสามารถดาวน์โหลดไลบรารี่เป็น tarball ได้ หากต้องการเริ่มการติดตั้ง ให้ไปที่ไดเร็กทอรีที่มีไลบรารีไคลเอ็นต์ที่คลายซิปที่คุณดาวน์โหลดไว้ และเรียกใช้สคริปต์ "setup.py" ดังต่อไปนี้:
$ python setup.py build install
คัดลอกไฟล์ googleads.yaml ไปยังโฮมไดเร็กตอรี่ของคุณ
สิ่งนี้จะถูกใช้เพื่อจัดเก็บข้อมูลประจำตัวและการตั้งค่าอื่น ๆ ที่สามารถโหลดเพื่อเตรียมใช้งานไคลเอนต์
ตั้งค่าข้อมูลรับรอง OAuth2 ของคุณ
Ad Manager API ใช้ OAuth2 เป็นการตรวจสอบสิทธิ์
กลไก. ปฏิบัติตามคำแนะนำที่เหมาะสมด้านล่างตามกรณีการใช้งานของคุณ
หากคุณกำลังเข้าถึง API โดยใช้ข้อมูลประจำตัวของคุณเอง...
หากคุณกำลังเข้าถึง API ในนามของลูกค้า...
การพัฒนาเว็บแอปพลิเคชัน (Ad Manager)
การใช้ตัวจัดการโฆษณา
ดูตัวอย่างโค้ดสำหรับ Ad Manager เวอร์ชันล่าสุดได้ที่หน้าเผยแพร่
หรือคุณสามารถหาตัวอย่าง Ad Manager ได้ในไดเรกทอรีตัวอย่างของที่เก็บนี้
คุณสามารถแคชข้อมูลการตรวจสอบสิทธิ์ API ของคุณได้ ไลบรารีมีไฟล์ตัวอย่างที่แสดงวิธีดำเนินการนี้ชื่อ googleads.yaml
กรอกข้อมูลในช่องสำหรับ API และฟีเจอร์ที่คุณวางแผนจะใช้ วิธี LoadFromStorage
ของไลบรารีมีค่าเริ่มต้นในการค้นหาไฟล์ที่มีชื่อนี้ในโฮมไดเร็กตอรี่ของคุณ แต่คุณสามารถส่งผ่านเส้นทางไปยังไฟล์ใดก็ได้ที่มีเนื้อหา yaml ที่ถูกต้อง
# ใช้ตำแหน่งเริ่มต้น - หน้าแรกของคุณ Directory:ad_manager_client = ad_manager.AdManagerClient.LoadFromStorage()# หรือส่งผ่านตำแหน่งของไฟล์:ad_manager_client = ad_manager.AdManagerClient.LoadFromStorage('C:MyDirectorygoogleads.yaml')
หากคุณมีปัญหาที่เกี่ยวข้องโดยตรงกับไลบรารีไคลเอ็นต์ ให้ใช้เครื่องมือติดตามปัญหา
หากคุณมีปัญหาเกี่ยวกับ API ใดโดยเฉพาะ ให้ใช้ฟอรัมสนับสนุนผลิตภัณฑ์:
ตัวจัดการโฆษณา
ไลบรารีใช้เฟรมเวิร์กการบันทึกในตัวของ Python คุณสามารถระบุการกำหนดค่าของคุณผ่านไฟล์กำหนดค่า ดู googleads.yaml เป็นตัวอย่าง
หรือคุณสามารถระบุการกำหนดค่าการบันทึกของคุณด้วยตนเองได้ ตัวอย่างเช่น หากคุณต้องการบันทึกการโต้ตอบ SOAP ของคุณไปที่ stdout และคุณกำลังใช้ไลบรารีสบู่ Zeep คุณสามารถทำสิ่งต่อไปนี้:
logging.basicConfig(level=logging.INFO, format=googleads.util.LOGGER_FORMAT)logging.getLogger('googleads.soap').setLevel(logging.DEBUG)
หากคุณต้องการเข้าสู่ระบบไฟล์ คุณจะต้องแนบตัวจัดการบันทึกเข้ากับแหล่งข้อมูลนี้ ซึ่งได้รับการกำหนดค่าให้เขียนเอาต์พุตลงในไฟล์
ปลั๊กอิน zeep ที่ใช้สำหรับการบันทึกจะดึงข้อมูลที่ละเอียดอ่อนออกจากเอาต์พุต หากคุณต้องการรวมข้อมูลนี้ไว้ในบันทึก คุณจะต้องใช้ปลั๊กอินการบันทึกแบบง่ายๆ ของคุณเอง ตัวอย่างเช่น:
คลาส DangerousZeepLogger (zeep.Plugin): def ingress (ตัวเอง, ซองจดหมาย, http_headers, การดำเนินการ): logging.debug ('การตอบกลับขาเข้า: n% s', etree.tostring (ซองจดหมาย, Pretty_print = True)) ซองจดหมายส่งคืน, http_headers def egress (ตัวเอง, ซองจดหมาย, http_headers, การดำเนินการ, Binding_options): logging.debug ('การตอบกลับขาเข้า: n% s', etree.tostring (ซองจดหมาย, Pretty_print = True)) ซองจดหมายส่งคืน http_headersad_manager_client.zeep_client.plugins.append (DangerousZeepLogger ())
ตามค่าเริ่มต้น ไคลเอ็นต์จะถูกแคชไว้เนื่องจากการอ่านและการย่อย WSDL อาจมีราคาแพง อย่างไรก็ตาม วิธีการแคชเริ่มต้นจำเป็นต้องได้รับสิทธิ์ในการเข้าถึงระบบไฟล์ในเครื่องที่อาจไม่สามารถใช้ได้ในสภาพแวดล้อมการโฮสต์บางอย่าง เช่น App Engine
คุณสามารถส่งผ่านการใช้งาน zeep.cache.Base
ไปยังเครื่องมือเริ่มต้น AdManagerClient
เพื่อแก้ไขพฤติกรรมการแคชเริ่มต้น
ตัวอย่างเช่น การกำหนดค่าตำแหน่งและระยะเวลาที่แตกต่างกันของไฟล์แคชด้วย zeep
doc_cache = zeep.cache.SqliteCache(path=cache_path)ad_manager_client = ad_manager.AdManagerClient( oauth2_client, application_name, network_code=network_code, แคช=doc_cache)
คุณยังสามารถปิดใช้งานการแคชในลักษณะเดียวกันได้ด้วย zeep
ad_manager_client = ad_manager.AdManagerClient( oauth2_client, application_name, network_code=network_code, cache=googleads.common.ZeepServiceProxy.NO_CACHE)
ไลบรารีนี้รองรับ Python 3.7+ เท่านั้น
- httplib2 -- https://pypi.python.org/pypi/httplib2/ - oauth2client -- https://pypi.python.org/pypi/oauth2client/ - pysocks -- https://pypi.python.org/pypi/PySocks/ - pytz -- https://pypi.python.org/pypi/pytz - pyYAML -- https://pypi.python.org/pypi/pyYAML/ - xmltodict -- https://pypi.python.org/pypi/xmltodict/ - zeep -- https://pypi.python.org/pypi/zeep - mock -- https://pypi.python.org/pypi/mock (only needed to run unit tests) - pyfakefs -- https://pypi.python.org/pypi/pyfakefs (only needed to run unit tests)
Mark Saniscalchi David Wihl Ben Karl