Bing Ads API での PHP の使用を開始する
PHP を使用Bing Ads API アプリケーションの開発を開始するには、 提供されている例 から始めるか、 Web または デスクトップ アプリケーションのアプリケーション チュートリアルのいずれかに従います。 例は、Bing Ads PHP SDK で開発され、 PHP 7.0.6 で実行されています。 PHP の他のバージョン (5.6 より大きい)、パッケージ、およびオペレーティング システムを使用できる必要があります。 ただし、コードと構成の特定の部分を変更する必要がある場合があります。 Web サービスを使用するように PHP 開発環境を設定する方法については、ツールのドキュメントを参照してください。 SOAP および OpenSSL 拡張機能は、PHP.ini ファイルでも有効にする必要があります。 curl 拡張機能を有効にして、一括アップロード サンプルを実行します。
extension=php_soap.dll
extension=php_openssl.dll
extension=php_curl.dll
運用環境またはサンドボックス内の Microsoft Advertising へのアクセス権を持つユーザー資格情報が必要です。 運用環境では、 運用開発者トークンが必要です。 すべてのサンドボックス クライアントは、ユニバーサル サンドボックス開発者トークン ( BBD37VB98) を使用できます。 詳細については、「Bing Ads API とサンドボックスの概要」を参照してください。
OAuth を使用して認証するには、アプリケーションを登録し、対応するクライアント識別子を取得する必要もあります。 また、Web アプリケーションを開発する場合は、クライアント シークレットとリダイレクト URI もメモする必要があります。 運用環境でのアプリケーションの登録と承認コード付与フローの詳細については、「 OAuth による認証 」と 「SDK による認証」を参照してください。 運用環境では独自のアプリケーション ID (クライアント ID) を使用する必要がありますが、すべての Microsoft Advertising のお客様は、サンドボックス内のパブリック "Tutorial Sample App" クライアント ID ( 00001111-aaaa-2222-bbbb-3333cccc4444) を使用できます。 詳細については、「 サンドボックス」を参照してください。
SDK のインストール
Composer パッケージ マネージャーを使用して Bing Ads PHP SDK をインストールして Packagist からフェッチすることも、GitHub からソースを複製することもできます。 このガイドでは、Composer を使用して、Bing Ads PHP SDK の最新バージョンを取得する方法について説明します。
Composer をダウンロードしてインストール します。 Microsoft Windows ユーザーは、composer.phar を PATH 変数に追加する必要もあります。
コマンド プロンプトを開き、「」と入力します
composer require microsoft/bingads
。注:
PATH に composer.phar を追加しなかった Windows ユーザーは、代わりに「」と入力
php composer.phar require microsoft/bingads
する必要があります。今後更新プログラムを取得するには、「」と入力します
composer update
。 packagist で更新プログラムが利用可能な場合、composer は最新バージョンをインストールします。
チュートリアル
Bing Ads PHP SDK をインストールしたら、 Bing Ads API コードの例を参照するか、 GitHub で例をダウンロードするか、 Web または デスクトップ アプリケーションのアプリケーション チュートリアルのいずれかに従います。
SoapVar の使用
基底クラスから継承する複合型を送信するには、オブジェクトを SoapVar としてエンコードする必要があります。 次の例では、BiddableCampaignCriterion (CampaignCriterion から派生)、LocationCriterion (検索条件から派生)、BidMultiplier (CriterionBid から派生) がすべてエンコードされています。
$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;
CriterionBid を具象型 BidMultiplier としてエンコードしない場合、生成された要求 SOAP は空の抽象 CriterionBid 要素です。 これにより、"抽象クラスを作成できません" というメッセージでシリアル化例外が発生します。
<ns1:CriterionBid>
オブジェクトは、複合型 (BidMultiplier など) で適切にエンコードする必要があります。
<ns1:CriterionBid xsi:type="ns1:BidMultiplier">
<ns1:Type xsi:nil="true" />
<ns1:Multiplier>0</ns1:Multiplier>
</ns1:CriterionBid>
各データ オブジェクトの参照ドキュメントでは、複合型が基本型から派生するかどうかを指定します。例: BiddableCampaignCriterion、 LocationCriterion、 BidMultiplier を参照してください。
WSDL では、階層 (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"/>
関連項目
Bing Ads API クライアント ライブラリ
BING ADS API コードの例
Bing 広告 API Web サービス アドレス
サービス エラーと例外の処理
サンドボックス