Aracılığıyla paylaş


Bing Ads API'siyle Python Kullanmaya Başlama

Python ile Bing Ads API uygulamaları geliştirmeye başlamak için sağlanan örneklerle başlayabilir veya Web veya Masaüstü uygulaması için uygulama kılavuzlarından birini izleyebilirsiniz.

Üretim veya korumalı alanda Microsoft Advertising erişimine sahip kullanıcı kimlik bilgilerine ihtiyacınız olacaktır. Üretim ortamı için bir üretim geliştirici belirteci gerekir. Tüm korumalı alan istemcileri evrensel korumalı alan geliştirici belirtecini BBD37VB98 kullanabilir. Daha fazla bilgi için bkz. Bing Ads API'sini ve Korumalı Alanı Kullanmaya Başlama.

OAuth aracılığıyla kimlik doğrulaması yapmak için bir uygulamayı kaydetmeniz ve ilgili istemci tanımlayıcısını almanız gerekir. Ayrıca bir web uygulaması geliştiriyorsanız istemci gizli dizisini ve yeniden yönlendirme URI'sini de not almanız gerekir. Bir uygulamayı üretime kaydetme ve yetkilendirme kodu verme akışı hakkında daha fazla bilgi için bkz. OAuth ile Kimlik Doğrulaması ve SDK'larla Kimlik Doğrulaması. Üretimde kendi uygulama kimliğinizi (istemci kimliği) kullanmanız gerekse de, tüm Microsoft Advertising müşterileri korumalı alanda genel "Öğretici Örnek Uygulama" istemci kimliğini kullanabilir; örneğin, 4c0b021c-00c3-4508-838f-d3127e8167ff. Daha fazla bilgi için bkz. Korumalı Alan.

Bağımlılık

Bing Ads Python SDK'sı, tüm Bing Ads API programlama öğeleri için proxy olarak suds-jurko-0.6 kitaplığını kullanır. Suds'yi Microsoft Advertising ile kullanma hakkında daha fazla bilgi için bkz. Sud kullanma.

Bing Ads Python SDK'sı Python 3.3 veya üzerini destekler. Desteklenen sürümlerden birini yükleyip çalıştırmanız gerekir.

SDK'yi yükleme

Bing Ads Python SDK'sını ilk kez yüklemek için, IDE veya komut satırı isteminizden aşağıdakileri çalıştırın.

pip.exe install bingads

Bing Ads Python SDK'sının yüklü olduğunu onaylamak için aşağıdakileri çalıştırın. Çıkış listesinde bingad'ları (<sürüm>) görmeniz gerekir.

pip.exe list

Bing Ads Python SDK'sı zaten yüklüyse en son bitleri almak için bu komutu çalıştırabilirsiniz.

pip.exe install --upgrade bingads

Walkthroughs

Bing Ads Python SDK'sını yükledikten sonra, GitHub'dan örnekleri indirebilir veya bir İzlenecek Yol için uygulama kılavuzundan birini izleyebilirsiniz : Python'da Bing Ads API Web Uygulaması veya İzlenecek Yol: Python uygulamasında Bing Ads API Masaüstü Uygulaması .

Suds kullanma

Bing Ads Python SDK'sı , suds-jurko-0.6 SOAP SDK'sını kullanarak Bing Ads API'sinin programlama öğelerinin örneğini, hizmet işlemlerini, veri nesnelerini ve değer kümelerini oluşturur. Bir ServiceClient, BulkServiceManager veya ReportingServiceManager sınıfı aracılığıyla Suds fabrika nesnelerini geçireceksiniz. Suds bir SDK bağımlılığı olarak dahil olduğundan, Suds'yi doğrudan kullanarak Bing Ads API'sinin hizmet işlemlerinden herhangi birini çağırabilirsiniz.

Lütfen Bing Ads Python SDK'sında Suds ile ilgili aşağıdaki kuralları, önerileri ve ipuçlarını göz önünde bulundurun.

  • En yaygın özel durumlardan biri ERROR:suds.resolver:(ClassGoesHere) bulunamadı. Bu genellikle Suds nesnesi için ad alanı ön eki kullanılarak çözülebilir. Örneğin. ns3:ArrayOfstring

    İpucu

    Her hizmet için kullanılabilir olan ad alanı ön ekine sahip tüm SOAP nesnelerini bulmak için soap istemcisini yazdırabilirsiniz. Örneğin, aşağıdaki deyimler Campaign, AdGroup, ExpandedTextAd ve Keyword değerlerini döndürür.

    campaign_service = ServiceClient(
        service='CampaignManagementService', 
        version = 13,
        authorization_data=authorization_data, 
        environment = ENVIRONMENT,
    )
    print campaign_service.soap_client
    
  • Suds aracılığıyla kampanya yönetimi hizmetine geçirilen birçok nesne için sözlük nesneleri oluşturabilirsiniz. Performans açısından bakıldığında, sözlük yaklaşımı alternatif service.factory.create yönteminden daha hızlıdır.

    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 ve NegativeKeywordList gibi türetilmiş türler için Suds kitaplığı factory.create kullanmanızı gerektirir.

    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)
    
  • Bing Ads API'si bu tür öğeler gerektirmese bile, Suds istemcisi için temel olmayan öğeler belirtilmelidir. Örneğin AdEditorialStatus türünde EditorStatus.

  • Kampanya Yönetimi API'leri işlemleri, temel olmayan bir öğe belirtirseniz, bunun hizmet tarafından tanımlanan değerlerden biri olması gerekir; örneğin, sıfır öğesi olamaz. Suds ilkel olmayan öğeler gerektirdiğinden ve Microsoft Advertising bir sabit listesi değeri yerine sıfır öğelerini kabul etmediğinden, ilkel olmayan öğeleri ayarlamanız veya Hiçbiri olarak ayarlanması gerekir. Ayrıca, öğe hazırsa yalnızca Yok olarak ayarlamanız gerektiğini unutmayın. Örneğin, ayarlayın expanded_text_ad.EditorialStatus=None.

Bing Ads API hizmeti işleminin karşılık gelen yöntemlerini çağırmak için ServiceClient sınıfının bir örneğini kullanabilir ve Suds factory nesnesini geçirebilirsiniz. Daha fazla bilgi için bkz. SDK'larla Kimlik Doğrulaması.

Ayrıca Bkz

Bing Ads API İstemci Kitaplıkları
Bing Ads API Kod Örnekleri
Bing Ads API Web Hizmeti Adresleri
Hizmet Hatalarını ve Özel Durumlarını İşleme
Sandbox