Служба отчетов API Bing Ads возвращает код ошибки 2015 «Размер не выбран» - PullRequest
0 голосов
/ 08 мая 2019

Я пытаюсь получить некоторые данные из Bing Ads API, но продолжаю получать код ошибки 2015. Я использую Savon с Ruby on Rails. Вот запрос:

<env:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tns="https://bingads.microsoft.com/Reporting/v13" xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns="https://bingads.microsoft.com/Reporting/v13">
  <env:Header>
    <AuthenticationToken>blahblahblah</AuthenticationToken>
    <CustomerAccountId>blahblahblah</CustomerAccountId>
    <CustomerId>blahblahblah</CustomerId>
    <DeveloperToken>blahblahblah</DeveloperToken>
  </env:Header>
  <env:Body>
    <tns:SubmitGenerateReportRequest>
      <ReportRequest xsi:nil="false" xsi:type="AccountPerformanceReportRequest">
        <ExcludeColumnHeaders>true</ExcludeColumnHeaders>
        <ExcludeReportFooter>true</ExcludeReportFooter>
        <ExcludeReportHeader>true</ExcludeReportHeader>
        <Format>Csv</Format>
        <Language>English</Language>
        <ReportName>AccountPerformanceReportRequest</ReportName>
        <ReturnOnlyCompleteData>false</ReturnOnlyCompleteData>
        <Aggregation>Summary</Aggregation>
        <Columns>
          <AccountPerformanceReportColumn>Spend</AccountPerformanceReportColumn>
          <AccountPerformanceReportColumn>Clicks</AccountPerformanceReportColumn>
          <AccountPerformanceReportColumn>Conversions</AccountPerformanceReportColumn>
          <AccountPerformanceReportColumn>Revenue</AccountPerformanceReportColumn>
        </Columns>
        <Filter xsi:nil="true"/>
        <Scope>
          <AccountIds xmlns:a1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
            <a1:long>blahblahblah</a1:long>
          </AccountIds>
        </Scope>
        <Time>
          <CustomDateRangeEnd>
            <Day>02</Day>
            <Month>04</Month>
            <Year>2019</Year>
          </CustomDateRangeEnd>
          <CustomDateRangeStart>
            <Day>01</Day>
            <Month>04</Month>
            <Year>2019</Year>
          </CustomDateRangeStart>
          <PredefinedTime xsi:nil="true"/>
          <ReportTimeZone>EasternTimeUSCanada</ReportTimeZone>
        </Time>
      </ReportRequest>
    </tns:SubmitGenerateReportRequest>
  </env:Body>
</env:Envelope>

Как видите, я извлекаю отчет с «Сводкой» в качестве типа агрегации. Если я использую «Ежемесячно» в качестве типа агрегации и включаю столбец «TimePeriod», он работает отлично, но если я это сделаю, то будут возвращены данные за весь месяц апреля, а не диапазон дат, который я выбрал 04- 01-2019..04-02-2019.

Вот ответ:

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
  <s:Body>
    <s:Fault>
      <faultcode>s:Server</faultcode>
      <faultstring xml:lang="en-US">Invalid client data. Check the SOAP fault details for more information</faultstring>      <detail>
        <ApiFaultDetail xmlns="https://bingads.microsoft.com/Reporting/v13" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
          <TrackingId xmlns="https://adapi.microsoft.com">52665fe5-3eb8-42e0-ad8e-942e848297ce</TrackingId>
          <BatchErrors/>
          <OperationErrors>
            <OperationError>
              <Code>2015</Code>
              <Details>No Dimension selected.</Details>
              <ErrorCode>RequiredColumnsNotSelected</ErrorCode>
              <Message>The specified report request does not specify all the required columns for this report type. Please submit a report request with the required columns for this report type, and optionally additional columns that are to be included in the report.</Message>
            </OperationError>
          </OperationErrors>
        </ApiFaultDetail>
      </detail>
    </s:Fault>
  </s:Body>
</s:Envelope>

Возвращенный код ошибки заставит меня поверить, что столбец TimePeriod необходим даже для Summary, но это противоречит тому, что задокументировано здесь .

Все остальные типы агрегации работают с этой настройкой. Любая помощь будет принята с благодарностью.

1 Ответ

2 голосов
/ 08 мая 2019

Хороший улов. Мы обновим документацию, чтобы уточнить, что должен быть включен хотя бы один атрибут (статистика неэффективности), например AccountId. Большинство других отчетов имеют определенные атрибуты, которые должны быть включены, в то время как отчет об учетной записи - нет. Надеюсь, это поможет!

...