แชร์ผ่าน


เริ่มต้นใช้งาน Python ด้วย Bing Ads API

เมื่อต้องเริ่มต้นพัฒนาแอปพลิเคชัน Bing Ads API ด้วย Python คุณสามารถเริ่มต้นด้วยตัวอย่างที่ให้มา หรือทําตามหนึ่งในคําแนะนําแอปพลิเคชันสําหรับแอปพลิเคชันบนเว็บหรือเดสก์ท็อป

คุณจะต้องมีข้อมูลประจําตัวผู้ใช้ที่มีสิทธิ์เข้าถึง Microsoft Advertising ทั้งในการผลิตหรือ Sandbox สําหรับสภาพแวดล้อมการผลิต คุณจะต้องมีโทเค็นนักพัฒนาผลิต ไคลเอ็นต์ Sandbox ทั้งหมดสามารถใช้โทเค็นนักพัฒนา Sandbox สากลได้ เช่น BBD37VB98 สําหรับข้อมูลเพิ่มเติม โปรดดูเริ่มต้นใช้งาน API โฆษณา Bing และ Sandbox

หากต้องการรับรองความถูกต้องผ่าน OAuth คุณต้องลงทะเบียนแอปพลิเคชันและรับตัวระบุไคลเอ็นต์ที่สอดคล้องกัน คุณยังต้องจดบันทึกข้อมูลลับของไคลเอ็นต์และเปลี่ยนเส้นทาง URI ถ้าคุณกําลังพัฒนาแอปพลิเคชันบนเว็บ สําหรับรายละเอียดเพิ่มเติมเกี่ยวกับการลงทะเบียนแอปพลิเคชันในการผลิตและขั้นตอนการให้รหัสการให้สิทธิ์ โปรดดูการรับรองความถูกต้องด้วย OAuth และการรับรองความถูกต้องด้วย SDK แม้ว่าในการผลิตคุณต้องใช้ ID แอปพลิเคชันของคุณเอง (a.k.a. client ID) ลูกค้า Microsoft Advertising ทั้งหมดสามารถใช้ ID ไคลเอ็นต์ "แอปตัวอย่างบทช่วยสอน" สาธารณะใน Sandbox เช่น 4c0b021c-00c3-4508-838f-d3127e8167ff สําหรับข้อมูลเพิ่มเติม โปรดดู Sandbox

อ้าง อิง

Bing Ads Python SDK ใช้ไลบรารี suds-jurko-0.6 เป็นพร็อกซีสําหรับองค์ประกอบการเขียนโปรแกรม API ของ Bing Ads ทั้งหมด สําหรับข้อมูลเพิ่มเติมเกี่ยวกับการใช้ Suds กับ Microsoft Advertising โปรดดูการใช้ Suds

โฆษณา Bing Python SDK สนับสนุน Python 3.3 หรือสูงกว่า คุณควรติดตั้งและเรียกใช้หนึ่งในเวอร์ชันที่ได้รับการสนับสนุน

ติดตั้ง SDK

หากต้องการติดตั้ง Bing Ads Python SDK เป็นครั้งแรก ให้เรียกใช้คําสั่งต่อไปนี้จากพร้อมท์ IDE หรือบรรทัดคําสั่ง

pip.exe install bingads

หากต้องการยืนยันว่ามีการติดตั้ง Bing Ads Python SDK ไว้แล้ว ให้เรียกใช้รายการต่อไปนี้ คุณควรเห็น bingads (<เวอร์ชัน>) ในรายการผลลัพธ์

pip.exe list

หากคุณติดตั้ง Bing Ads Python SDK ไว้แล้ว คุณสามารถเรียกใช้คําสั่งนี้เพื่อรับบิตล่าสุดได้

pip.exe install --upgrade bingads

การฝึกปฏิบัติ

เมื่อคุณติดตั้ง Bing Ads Python SDK แล้ว คุณสามารถดาวน์โหลดตัวอย่างจาก GitHub หรือทําตามหนึ่งในคําแนะนําแอปพลิเคชันสําหรับการฝึกปฏิบัติ: Bing Ads API Web Application ใน Python หรือ Walkthrough: Bing Ads API Desktop Application ใน Python

การใช้ Suds

SDK โฆษณา Bing Python ใช้ suds-jurko-0.6 SOAP SDK เพื่อสร้างอินสแตนซ์ขององค์ประกอบการเขียนโปรแกรมสําหรับ Bing Ads API เช่น การดําเนินการบริการ วัตถุข้อมูล และชุดค่า คุณจะผ่านออบเจ็กต์โรงงาน Suds ผ่านคลาส ServiceClient, BulkServiceManager หรือ ReportingServiceManager เนื่องจาก Suds รวมอยู่ในการขึ้นต่อกันของ SDK คุณสามารถใช้ Suds โดยตรงเพื่อเรียกใช้การดําเนินการบริการ Bing Ads API

คําแนะนํา และเคล็ดลับที่เกี่ยวข้องกับ Suds ใน Bing Ads Python SDK ดังต่อไปนี้

  • หนึ่งในข้อยกเว้นที่พบบ่อยที่สุดที่เราได้ยินคือ ERROR:suds.resolver:(ClassGoesHere) ไม่พบ โดยปกติแล้วสามารถแก้ไขได้โดยใช้คํานําหน้า Namespace สําหรับออบเจ็กต์ Suds เช่น ns3:ArrayOfstring

    เคล็ดลับ

    เมื่อต้องการค้นหาวัตถุ SOAP ทั้งหมดที่มีคํานําหน้า Namespace ที่พร้อมใช้งานสําหรับแต่ละบริการ คุณสามารถพิมพ์ไคลเอ็นต์ soap ได้ ตัวอย่างเช่น ข้อความต่อไปนี้จะส่งคืนแคมเปญ AdGroup, ExpandedTextAd และคีย์เวิร์ด และอื่นๆ

    campaign_service = ServiceClient(
        service='CampaignManagementService', 
        version = 13,
        authorization_data=authorization_data, 
        environment = ENVIRONMENT,
    )
    print campaign_service.soap_client
    
  • สําหรับวัตถุจํานวนมากที่ถูกส่งผ่านไปยังบริการการจัดการการส่งเสริมการขายผ่าน Suds คุณสามารถสร้างออบเจ็กต์พจนานุกรมได้ จากมุมมองประสิทธิภาพการทํางาน วิธีการของพจนานุกรมเร็วกว่าวิธีการ service.factory.create ทางเลือก

    ad_groups = {
        'AdGroup':
            [
                {
                    'Name': "Women's Shoe Sale",
                    'AdDistribution': 'Search',
                    'EndDate': {
                        'Day': '31',
                        'Month': '12',
                        'Year': strftime("%Y", gmtime())
                    },
                    'CpcBid': {
                        'Amount': 0.09
                    },
                    'Language': 'English'
                },
            ]
        }
    
  • สําหรับชนิดที่สืบทอดมา เช่น ExpandedTextAd, NegativeKeyword และ NegativeKeywordList ไลบรารี Suds กําหนดให้คุณใช้ factory.create

    ads = campaign_service.factory.create('ArrayOfAd')
    expanded_text_ad=campaign_service.factory.create('ExpandedTextAd')
    expanded_text_ad.TitlePart1='Contoso'
    expanded_text_ad.TitlePart2='Quick & Easy Setup'
    expanded_text_ad.TitlePart3='Seemless Integration'
    expanded_text_ad.Text='Find New Customers & Increase Sales!'
    expanded_text_ad.TextPart2='Start Advertising on Contoso Today.'
    expanded_text_ad.Path1='seattle'
    expanded_text_ad.Path2='shoe sale'
    expanded_text_ad.Type='ExpandedText'
    expanded_text_ad.Status=None
    expanded_text_ad.EditorialStatus=None
    
    # With FinalUrls you can separate the tracking template, custom parameters, and 
    # landing page URLs.
    final_urls=campaign_service.factory.create('ns3:ArrayOfstring')
    final_urls.string.append('https://www.contoso.com/womenshoesale')
    expanded_text_ad.FinalUrls=final_urls
    
    # Final Mobile URLs can also be used if you want to direct the user to a different page 
    # for mobile devices.
    final_mobile_urls=campaign_service.factory.create('ns3:ArrayOfstring')
    final_mobile_urls.string.append('https://mobile.contoso.com/womenshoesale')
    expanded_text_ad.FinalMobileUrls=final_mobile_urls
    
    # Set custom parameters that are specific to this ad.
    url_custom_parameters=campaign_service.factory.create('CustomParameters')
    parameters=campaign_service.factory.create('ArrayOfCustomParameter')
    custom_parameter1=campaign_service.factory.create('CustomParameter')
    custom_parameter1.Key='promoCode'
    custom_parameter1.Value='PROMO' + str(index)
    parameters.CustomParameter.append(custom_parameter1)
    custom_parameter2=campaign_service.factory.create('CustomParameter')
    custom_parameter2.Key='season'
    custom_parameter2.Value='summer'
    parameters.CustomParameter.append(custom_parameter2)
    url_custom_parameters.Parameters=parameters
    expanded_text_ad.UrlCustomParameters=url_custom_parameters
    
    ads.Ad.append(expanded_text_ad)
    
  • องค์ประกอบที่ไม่ใช่ดั้งเดิมใด ๆ จะต้องระบุสําหรับไคลเอ็นต์ Suds เช่น EditorialStatus ชนิด AdEditorialStatus แม้ว่า API โฆษณา Bing ไม่จําเป็นต้องมีองค์ประกอบดังกล่าว

  • การดําเนินการ API การจัดการแคมเปญกําหนดว่าถ้าคุณระบุค่าที่ไม่ใช่ค่าดั้งเดิม จะต้องเป็นค่าใดค่าหนึ่งที่กําหนดโดยบริการ เช่น ไม่สามารถเป็นองค์ประกอบ nil ได้ เนื่องจาก Suds ต้องการค่าที่ไม่ใช่ค่าดั้งเดิม และ Microsoft Advertising จะไม่ยอมรับองค์ประกอบ nil แทนค่า enum คุณต้องตั้งค่าค่าที่ไม่ใช่ค่าดั้งเดิม หรือต้องตั้งค่าเป็น ไม่มี นอกจากนี้ โปรดทราบว่า ถ้าองค์ประกอบพร้อมเฉพาะคุณต้องตั้งค่าเป็น ไม่มี ตัวอย่างเช่น ตั้งค่าexpanded_text_ad.EditorialStatus=None

หากต้องการเรียกใช้วิธีการที่สอดคล้องกันของการดําเนินการบริการ API โฆษณา Bing คุณสามารถใช้อินสแตนซ์ของคลาส ServiceClient และส่งผ่านออบเจ็กต์โรงงาน Suds ได้ สําหรับข้อมูลเพิ่มเติม ดูการรับรองความถูกต้องด้วย SDK

ดูเพิ่มเติม

ไลบรารีไคลเอ็นต์ Bing Ads API
ตัวอย่างรหัส API ของโฆษณา Bing
ที่อยู่ของบริการเว็บ API ของ Bing Ads
การจัดการข้อผิดพลาดและข้อยกเว้นของบริการ
Sandbox