PollGenerateReport 服务操作 - 报告
获取报表请求的状态。
报告是一个异步过程。 下面是请求报表的一般流程。
- 使用报表参数创建请求。 请勿使用 ReportRequest 对象。 相反,必须使用派生报表请求对象之一,例如 CampaignPerformanceReportRequest。 有关报表的列表,请参阅 报表类型 指南。
- 通过 SubmitGenerateReport 向报告服务发送请求。
- 服务将请求排队,直到它能够处理它
- 定期轮询服务以获取报表作业的状态,即通过 PollGenerateReport
- 当轮询 状态 为 “成功”时,请使用服务提供的 URL 下载报表。
有关详细信息,请参阅 请求和下载报表 指南。
注意
必须为 SubmitGenerateReport 和 PollGenerateReport 使用相同的用户凭据。
请求元素
PollGenerateReportRequest 对象定义服务操作请求的正文和标头元素。 元素的顺序必须与 请求 SOAP 中所示的顺序相同。
注意
除非下面另有说明,否则需要所有请求元素。
请求正文元素
元素 | 说明 | 数据类型 |
---|---|---|
ReportRequestId | 报表请求的标识符。
SubmitGenerateReport 操作返回标识符。 标识符的有效期最长为一天。 如果在此期限内未成功下载文件,则会从下载站点中删除该文件,并且需要获取新的报告请求标识符。 字符串的长度最大为 40,可以包含任何字符。 |
string |
请求标头元素
元素 | 说明 | 数据类型 |
---|---|---|
AuthenticationToken | OAuth 访问令牌,表示有权Microsoft广告帐户的用户的凭据。 有关详细信息,请参阅 使用 OAuth 进行身份验证。 |
string |
CustomerAccountId | 拥有或与请求中的实体关联的广告帐户的标识符。 如果需要这两个元素,此标头元素必须与 AccountId 正文元素具有相同的值。 此元素是大多数服务操作所必需的,作为最佳做法,应始终设置它。 有关详细信息,请参阅 获取帐户和客户 ID。 |
string |
CustomerId | 用户正在访问或操作的客户) 经理帐户 (标识符。 用户可以访问多个经理帐户。 此元素是大多数服务操作所必需的,作为最佳做法,应始终设置它。 有关详细信息,请参阅 获取帐户和客户 ID。 |
string |
DeveloperToken | 用于访问必应广告 API 的开发人员令牌。 有关详细信息,请参阅 获取开发人员令牌。 |
string |
Password | 此元素保留供内部使用,将从 API 的未来版本中删除。 必须使用 AuthenticationToken 元素来设置用户凭据。 | string |
UserName | 此元素保留供内部使用,将从 API 的未来版本中删除。 必须使用 AuthenticationToken 元素来设置用户凭据。 | string |
响应元素
PollGenerateReportResponse 对象定义服务操作响应的正文和标头元素。 元素的返回顺序与 响应 SOAP 中所示的顺序相同。
响应正文元素
元素 | 说明 | 数据类型 |
---|---|---|
ReportRequestStatus | 包含报告请求的状态和下载 URL。 | ReportRequestStatus |
响应标头元素
元素 | 说明 | 数据类型 |
---|---|---|
跟踪 ID | 包含 API 调用详细信息的日志条目的标识符。 | string |
请求 SOAP
此模板由一个工具生成,用于显示 SOAP 请求的正文和标头元素的顺序。 有关可用于此服务操作的支持类型,请参阅上面的 请求正文元素 参考。
<s:Envelope xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Header xmlns="https://bingads.microsoft.com/Reporting/v13">
<Action mustUnderstand="1">PollGenerateReport</Action>
<AuthenticationToken i:nil="false">ValueHere</AuthenticationToken>
<CustomerAccountId i:nil="false">ValueHere</CustomerAccountId>
<CustomerId i:nil="false">ValueHere</CustomerId>
<DeveloperToken i:nil="false">ValueHere</DeveloperToken>
</s:Header>
<s:Body>
<PollGenerateReportRequest xmlns="https://bingads.microsoft.com/Reporting/v13">
<ReportRequestId i:nil="false">ValueHere</ReportRequestId>
</PollGenerateReportRequest>
</s:Body>
</s:Envelope>
响应 SOAP
此模板由一个工具生成,用于显示 SOAP 响应的 正文 和 标头 元素的顺序。
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Header xmlns="https://bingads.microsoft.com/Reporting/v13">
<TrackingId d3p1:nil="false" xmlns:d3p1="http://www.w3.org/2001/XMLSchema-instance">ValueHere</TrackingId>
</s:Header>
<s:Body>
<PollGenerateReportResponse xmlns="https://bingads.microsoft.com/Reporting/v13">
<ReportRequestStatus d4p1:nil="false" xmlns:d4p1="http://www.w3.org/2001/XMLSchema-instance">
<ReportDownloadUrl d4p1:nil="false">ValueHere</ReportDownloadUrl>
<Status>ValueHere</Status>
</ReportRequestStatus>
</PollGenerateReportResponse>
</s:Body>
</s:Envelope>
代码语法
示例语法可用于 必应广告 SDK。 有关更多示例,请参阅 必应广告 API 代码示例 。
public async Task<PollGenerateReportResponse> PollGenerateReportAsync(
string reportRequestId)
{
var request = new PollGenerateReportRequest
{
ReportRequestId = reportRequestId
};
return (await ReportingService.CallAsync((s, r) => s.PollGenerateReportAsync(r), request));
}
static PollGenerateReportResponse pollGenerateReport(
java.lang.String reportRequestId) throws RemoteException, Exception
{
PollGenerateReportRequest request = new PollGenerateReportRequest();
request.setReportRequestId(reportRequestId);
return ReportingService.getService().pollGenerateReport(request);
}
static function PollGenerateReport(
$reportRequestId)
{
$GLOBALS['Proxy'] = $GLOBALS['ReportingProxy'];
$request = new PollGenerateReportRequest();
$request->ReportRequestId = $reportRequestId;
return $GLOBALS['ReportingProxy']->GetService()->PollGenerateReport($request);
}
response=reporting_service.PollGenerateReport(
ReportRequestId=ReportRequestId)
要求
服务: ReportingService.svc v13
命名空间: https://bingads.microsoft.com/Reporting/v13
请求 URL
请求元素
PollGenerateReportRequest 对象定义服务操作请求的正文和标头元素。
注意
除非下面另有说明,否则需要所有请求元素。
请求正文元素
元素 | 说明 | 数据类型 |
---|---|---|
ReportRequestId | 报表请求的标识符。
SubmitGenerateReport 操作返回标识符。 标识符的有效期最长为一天。 如果在此期限内未成功下载文件,则会从下载站点中删除该文件,并且需要获取新的报告请求标识符。 字符串的长度最大为 40,可以包含任何字符。 |
string |
请求标头元素
元素 | 说明 | 数据类型 |
---|---|---|
Authorization | OAuth 访问令牌,表示有权Microsoft广告帐户的用户的凭据。 请确保令牌的前缀为“持有者”,这是正确身份验证所必需的。 有关详细信息,请参阅 使用 OAuth 进行身份验证。 |
string |
CustomerAccountId | 拥有或与请求中的实体关联的广告帐户的标识符。 如果需要这两个元素,此标头元素必须与 AccountId 正文元素具有相同的值。 此元素是大多数服务操作所必需的,作为最佳做法,应始终设置它。 有关详细信息,请参阅 获取帐户和客户 ID。 |
string |
CustomerId | 用户正在访问或操作的客户) 经理帐户 (标识符。 用户可以访问多个经理帐户。 此元素是大多数服务操作所必需的,作为最佳做法,应始终设置它。 有关详细信息,请参阅 获取帐户和客户 ID。 |
string |
DeveloperToken | 用于访问必应广告 API 的开发人员令牌。 有关详细信息,请参阅 获取开发人员令牌。 |
string |
Password | 此元素保留供内部使用,将从 API 的未来版本中删除。 必须使用 AuthenticationToken 元素来设置用户凭据。 | string |
UserName | 此元素保留供内部使用,将从 API 的未来版本中删除。 必须使用 AuthenticationToken 元素来设置用户凭据。 | string |
响应元素
PollGenerateReportResponse 对象定义服务操作响应的正文和标头元素。 元素的返回顺序与 响应 JSON 中所示的顺序相同。
响应正文元素
元素 | 说明 | 数据类型 |
---|---|---|
ReportRequestStatus | 包含报告请求的状态和下载 URL。 | ReportRequestStatus |
响应标头元素
元素 | 说明 | 数据类型 |
---|---|---|
跟踪 ID | 包含 API 调用详细信息的日志条目的标识符。 | string |
请求 JSON
此模板由显示 JSON 请求的 正文 和 标头 元素的工具生成。 有关可用于此服务操作的支持类型,请参阅上面的 请求正文元素 参考。
{
"ReportRequestId": "ValueHere"
}
响应 JSON
此模板由一个工具生成,用于显示 JSON 响应的 正文 和 标头 元素。
{
"ReportRequestStatus": {
"ReportDownloadUrl": "ValueHere",
"Status": "ValueHere"
}
}
代码语法
若要通过 SDK 调用 REST API,需要将 SDK 升级到特定版本并配置系统参数。示例语法可用于 必应广告 SDK。 有关更多示例,请参阅 必应广告 API 代码示例 。
public async Task<PollGenerateReportResponse> PollGenerateReportAsync(
string reportRequestId)
{
var request = new PollGenerateReportRequest
{
ReportRequestId = reportRequestId
};
return (await ReportingService.CallAsync((s, r) => s.PollGenerateReportAsync(r), request));
}
static PollGenerateReportResponse pollGenerateReport(
java.lang.String reportRequestId) throws RemoteException, Exception
{
PollGenerateReportRequest request = new PollGenerateReportRequest();
request.setReportRequestId(reportRequestId);
return ReportingService.getService().pollGenerateReport(request);
}
static function PollGenerateReport(
$reportRequestId)
{
$GLOBALS['Proxy'] = $GLOBALS['ReportingProxy'];
$request = new PollGenerateReportRequest();
$request->ReportRequestId = $reportRequestId;
return $GLOBALS['ReportingProxy']->GetService()->PollGenerateReport($request);
}
response=reporting_service.PollGenerateReport(
ReportRequestId=ReportRequestId)