Erste Schritte mit PHP mit Bing Ads-API
Um mit der Entwicklung Bing Ads API-Anwendungen mit PHP zu beginnen, können Sie mit den bereitgestellten Beispielen beginnen oder eine der exemplarischen Vorgehensweisen für eine Web - oder Desktopanwendung befolgen. Die Beispiele wurden mit dem Bing Ads PHP SDK entwickelt und mit PHP 7.0.6 ausgeführt. Sie sollten in der Lage sein, andere Versionen von PHP (größer als 5.6), Pakete und Betriebssysteme zu verwenden. Bestimmte Teile des Codes und der Konfiguration müssen jedoch möglicherweise geändert werden. Informationen zum Einrichten einer PHP-Entwicklungsumgebung für die Verwendung von Webdiensten finden Sie in der Dokumentation für Ihre Tools. Die SOAP- und OpenSSL-Erweiterungen sollten auch in der PHP.ini-Datei aktiviert sein. Aktivieren Sie die curl-Erweiterung, um die Massenuploadbeispiele auszuführen.
extension=php_soap.dll
extension=php_openssl.dll
extension=php_curl.dll
Sie benötigen Benutzeranmeldeinformationen mit Zugriff auf Microsoft Advertising entweder in der Produktion oder sandbox. Für die Produktionsumgebung benötigen Sie ein Produktionsentwicklertoken. Alle Sandboxclients können das universelle Sandbox-Entwicklertoken verwenden, d. h. BBD37VB98. Weitere Informationen finden Sie unter Erste Schritte mit der Bing Ads-API und Sandbox.
Für die Authentifizierung über OAuth müssen Sie auch eine Anwendung registrieren und den entsprechenden Clientbezeichner abrufen. Sie müssen auch den geheimen Clientschlüssel und den Umleitungs-URI notieren, wenn Sie eine Webanwendung entwickeln. Weitere Informationen zum Registrieren einer Anwendung in der Produktion und zum Autorisierungscode-Genehmigungsflow finden Sie unter Authentifizierung mit OAuth und Authentifizierung mit den SDKs. Obwohl Sie in der Produktion Ihre eigene Anwendungs-ID (als Client-ID bezeichnet) verwenden müssen, können alle Microsoft Advertising-Kunden die öffentliche Client-ID "Tutorial-Beispiel-App" in der Sandbox verwenden, d. h. 00001111-aaaa-2222-bbbb-3333cccc4444. Weitere Informationen finden Sie unter Sandbox.
Das SDK installieren
Sie können das Bing Ads PHP SDK mithilfe des Composer-Paket-Managers installieren, um aus Packagist abzurufen, oder Sie können die Quelle von GitHub klonen. In diesem Leitfaden wird beschrieben, wie Sie Composer verwenden können, um die neueste Version des Bing Ads PHP SDK zu erhalten.
Laden Sie Composer herunter, und installieren Sie es. Microsoft Windows-Benutzer sollten ihrer PATH-Variablen auch composer.phar hinzufügen.
Öffnen Sie eine Eingabeaufforderung, und geben Sie ein
composer require microsoft/bingads
.Hinweis
Windows-Benutzer, die composer.phar nicht zu PATH hinzugefügt haben, müssen stattdessen eingeben
php composer.phar require microsoft/bingads
.Um in Zukunft Updates zu erhalten, geben Sie ein
composer update
. Wenn Updates bei packagist verfügbar sind, installiert Composer die neueste Version.
Vorgehensweisen
Nachdem Sie das Bing Ads PHP SDK installiert haben, können Sie entweder die Bing Ads API-Codebeispiele durchsuchen, die Beispiele auf GitHub herunterladen oder eine der exemplarischen Vorgehensweisen für eine Web - oder Desktopanwendung befolgen.
Verwenden von SoapVar
Um einen komplexen Typ zu senden, der von einer Basisklasse erbt, müssen Sie das Objekt als SoapVar codieren. Im folgenden Beispiel sind biddableCampaignCriterion (abgeleitet von CampaignCriterion), LocationCriterion (abgeleitet von Criterion) und BidMultiplier (abgeleitet von CriterionBid) alle codiert.
$campaignCriterions = array();
$locationBiddableCampaignCriterion = new BiddableCampaignCriterion();
$locationBiddableCampaignCriterion->CampaignId = $campaignId;
$locationCriterion = new LocationCriterion();
$locationCriterion->LocationId = 190;
$encodedLocationCriterion = new SoapVar($locationCriterion, SOAP_ENC_OBJECT, 'LocationCriterion', $GLOBALS['CampaignProxy']->GetNamespace());
$locationBiddableCampaignCriterion->Criterion = $encodedLocationCriterion;
$bidMultiplier = new BidMultiplier();
$bidMultiplier->Multiplier = 0;
$encodedBidMultiplier = new SoapVar($bidMultiplier, SOAP_ENC_OBJECT, 'BidMultiplier', $GLOBALS['CampaignProxy']->GetNamespace());
$locationBiddableCampaignCriterion->CriterionBid = $encodedBidMultiplier;
$encodedCriterion = new SoapVar($locationBiddableCampaignCriterion, SOAP_ENC_OBJECT, 'BiddableCampaignCriterion', $GLOBALS['CampaignProxy']->GetNamespace());
$campaignCriterions[] = $encodedCriterion;
Wenn Sie CriterionBid nicht als konkreten Typ BidMultiplier codieren, ist die generierte Anforderungs-SOAP ein leeres abstraktes CriterionBid-Element. Dies führt zu einer Serialisierungs-Ausnahme mit der Meldung "Eine abstrakte Klasse kann nicht erstellt werden."
<ns1:CriterionBid>
Das Objekt muss ordnungsgemäß mit dem komplexen Typ codiert werden, z. B. BidMultiplier.
<ns1:CriterionBid xsi:type="ns1:BidMultiplier">
<ns1:Type xsi:nil="true" />
<ns1:Multiplier>0</ns1:Multiplier>
</ns1:CriterionBid>
Die Referenzdokumentation für jedes Datenobjekt gibt an, ob der komplexe Typ von einem Basistyp abgeleitet wird. Weitere Informationen finden Sie unter BiddableCampaignCriterion, LocationCriterion und BidMultiplier.
Die WSDL definiert auch die Hierarchie, z. B. die folgende Definition für BidMultiplier.
<xs:complexType name="BidMultiplier">
<xs:complexContent mixed="false">
<xs:extension base="tns:CriterionBid">
<xs:sequence>
<xs:element minOccurs="0" name="Multiplier" type="xs:double"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:element name="BidMultiplier" nillable="true" type="tns:BidMultiplier"/>
Siehe auch
Bing Ads API-Clientbibliotheken
Bing Ads-API-Codebeispiele
Bing Ads-API-Webdienstadressen
Behandeln von Dienstfehlern und -ausnahmen
Sandbox