0

我正在尝试从 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>

如您所见,我正在使用“摘要”作为聚合类型来提取报告。如果我使用 'Monthly' 作为聚合类型并包含 'TimePeriod' 列,它可以完美运行,但如果我这样做,则返回的数据是整个 4 月,而不是我选择的日期范围 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 列,但这与此处记录的内容相矛盾。

所有其他聚合类型都适用于此设置。任何帮助将不胜感激。

4

1 回答 1

3

接得好。我们将更新文档以阐明必须包含至少一个属性(非绩效统计),例如 AccountId。大多数其他报告具有必须包含的特定属性,而帐户报告则没有。我希望这有帮助!

于 2019-05-08T18:55:01.330 回答