Partilhar via


Introdução ao PHP com a API de Anúncios do Bing

Para começar a desenvolver aplicações da API de Anúncios do Bing com PHP, pode começar com os exemplos fornecidos ou seguir uma das instruções da aplicação para uma aplicação Web ou de Ambiente de Trabalho . Os exemplos foram desenvolvidos com o SDK PHP de Anúncios do Bing e executados com PHP 7.0.6. Deverá conseguir utilizar outras versões do PHP (superior a 5.6), pacotes e sistemas operativos. No entanto, determinadas partes do código e da configuração poderão ter de ser alteradas. Para obter informações sobre como configurar um ambiente de desenvolvimento PHP para utilizar serviços Web, consulte a documentação das suas ferramentas. As extensões SOAP e OpenSSL também devem ser ativadas no ficheiro PHP.ini. Ative a extensão curl para executar os exemplos de carregamento em massa.

extension=php_soap.dll
extension=php_openssl.dll
extension=php_curl.dll

Precisará de credenciais de utilizador com acesso ao Microsoft Advertising em produção ou sandbox. Para o ambiente de produção, precisará de um token de programador de produção. Todos os clientes do sandbox podem utilizar o token de programador de sandbox universal, ou seja, BBD37VB98. Para obter mais informações, veja Introdução à API de Anúncios do Bing e ao Sandbox.

Para autenticar através do OAuth, também tem de registar uma aplicação e obter o identificador de cliente correspondente. Também tem de tomar nota do segredo do cliente e redirecionar o URI se estiver a desenvolver uma aplicação Web. Para obter mais detalhes sobre como registar uma aplicação na produção e o fluxo de concessão de código de autorização, veja Authentication with OAuth and Authentication With the SDKs (Autenticação com OAuth e Autenticação com os SDKs). Apesar de, em produção, ter de utilizar o seu próprio ID de aplicação (também conhecido como ID de cliente), todos os clientes do Microsoft Advertising podem utilizar o ID de cliente "Tutorial Sample App" público no sandbox, ou seja, 4c0b021c-00c3-4508-838f-d3127e8167ff. Para obter mais informações, consulte Sandbox.

Instalar o SDK

Pode instalar o SDK PHP de Anúncios do Bing com o gestor de pacotes Compositor para obter a partir do Packagist ou pode clonar a origem a partir do GitHub. Este guia descreve como pode utilizar o Composer para obter a versão mais recente do SDK PHP de Anúncios do Bing.

  1. Transfira e instale o Composer. Os utilizadores do Microsoft Windows também devem adicionar composer.phar à variável PATH .

  2. Abra uma linha de comandos e escreva composer require microsoft/bingads.

    Nota

    Os utilizadores do Windows que não tenham adicionado composer.phar ao PATH terão de escrever php composer.phar require microsoft/bingads .

  3. Para obter atualizações no futuro, escreva composer update. Se existirem atualizações disponíveis no packagist, o compositor irá instalar a versão mais recente.

Instruções

Assim que tiver o SDK PHP de Anúncios do Bing instalado, pode procurar os Exemplos de Código da API de Anúncios do Bing, transferir os exemplos no GitHub ou seguir uma das instruções da aplicação para uma aplicação Web ou de Ambiente de Trabalho .

Utilizar o SoapVar

Para enviar um tipo complexo que herda de uma classe base, tem de codificar o objeto como uma SoapVar. No exemplo seguinte, BiddableCampaignCriterion (derivado de CampaignCriterion), LocationCriterion (derivado do Critério) e BidMultiplier (derivado de CriterionBid) estão todos codificados.

$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;

Se não codificar o CriterionBid como tipo concreto BidMultiplier, o pedido gerado SOAP é um elemento CritérioBid abstrato vazio. Isto resultará numa exceção de serialização com a mensagem "Não é possível criar uma classe abstrata".

<ns1:CriterionBid>

O objeto tem de ser codificado corretamente com o tipo complexo, por exemplo, BidMultiplier.

<ns1:CriterionBid xsi:type="ns1:BidMultiplier">
    <ns1:Type xsi:nil="true" />
    <ns1:Multiplier>0</ns1:Multiplier>
</ns1:CriterionBid>

A documentação de referência para cada objeto de dados especifica se o tipo complexo é ou não derivado de um tipo base, por exemplo, veja BiddableCampaignCriterion, LocationCriterion e BidMultiplier.

O WSDL também define a hierarquia, por exemplo, a seguinte definição para 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"/>

See Also

Bibliotecas de Cliente da API de Anúncios do Bing
Exemplos de Código da API de Anúncios do Bing
Endereços do Serviço Web da API de Anúncios do Bing
Processamento de Erros e Exceções do Serviço
Sandbox