ไลบรารีไคลเอ็นต์นี้ทำให้การเข้าถึง 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 เวอร์ชันล่าสุดได้ที่หน้าเผยแพร่
หรือคุณสามารถหาตัวอย่าง 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