Bing Ads API ile 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, 00001111-aaaa-2222-bbbb-3333cccc4444. 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 ara sunucu 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
İzlenecek yollar
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 API Web Uygulaması Bing Ads veya İzlenecek Yol: Python uygulamasında API Masaüstü Uygulaması Bing Ads .
Suds kullanma
Bing Ads Python SDK'sı, Bing Ads API'si için programlama öğelerinin örneğin hizmet işlemlerini, veri nesnelerini ve değer kümelerini örneklemek için suds-jurko-0.6 SOAP SDK'sını kullanır. 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, Bing Ads API hizmeti işlemlerinden herhangi birini çağırmak için doğrudan Suds kullanabilirsiniz.
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 öğeleri gerektirmese bile Suds istemcisi için ilkel 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
API İstemci Kitaplıklarını Bing Ads
Bing Ads API Kodu Örnekleri
Bing Ads API Web Hizmeti Adresleri
Hizmet Hatalarını ve Özel Durumlarını İşleme
Sandbox