PollGenerateReport 服務作業 - 報告
取得報表要求的狀態。
報表是異步程式。 以下是要求報表的一般流程。
- 使用報表參數建立要求。 請勿使用 ReportRequest 物件。 相反地,您必須使用其中一個衍生報表要求物件,例如 CampaignPerformanceReportRequest。 如需報表清單,請參閱 報表類型 指南。
- 透過 SubmitGenerateReport 將要求傳送至 Reporting Service,也就是。
- 服務會將要求排入佇列,直到能夠處理它為止
- 定期輪詢服務以取得報表作業的狀態,也就是透過 PollGenerateReport
- 當輪詢 狀態 為 [成功] 時,請使用服務提供的 URL 來下載報表。
如需詳細資訊,請參閱 要求和下載報表 指南。
注意事項
您必須針對 SubmitGenerateReport 和 PollGenerateReport 使用相同的用戶認證。
要求專案
PollGenerateReportRequest 物件會定義服務作業要求的主體和標頭元素。 元素的順序必須與 要求SOAP中所示的順序相同。
注意事項
除非下面另有說明,否則所有要求專案都是必要的。
要求本文專案
元素 | 描述 | 資料類型 |
---|---|---|
ReportRequestId | 報表要求的標識碼。
SubmitGenerateReport 作業會傳回標識碼。 標識碼的有效期上限為一天。 如果您尚未在此期間內成功下載檔案,則會從下載網站中移除該檔案,而且您必須取得新的報表要求標識符。 字串的長度上限為 40,而且可以包含任何字元。 |
string |
要求標頭元素
元素 | 描述 | 資料類型 |
---|---|---|
AuthenticationToken | OAuth 存取令牌,代表有權Microsoft Advertising 帳戶之用戶的認證。 如需詳細資訊,請 參閱使用 OAuth 進行驗證。 |
string |
CustomerAccountId | 擁有或與要求中實體相關聯之廣告帳戶的標識碼。 當兩者都需要時,此標頭元素必須具有與 AccountId body 元素相同的值。 此元素是大部分服務作業的必要專案,最佳做法是一律加以設定。 如需詳細資訊, 請參閱取得您的帳戶和客戶標識符。 |
string |
CustomerId | (使用者存取或操作之使用者) 客戶的管理員帳戶標識碼。 用戶可以存取多個管理員帳戶。 此元素是大部分服務作業的必要專案,最佳做法是一律加以設定。 如需詳細資訊, 請參閱取得您的帳戶和客戶標識符。 |
string |
DeveloperToken | 用來存取 Bing 廣告 API 的開發人員令牌。 如需詳細資訊 ,請參閱取得開發人員令牌。 |
string |
密碼 | 此元素會保留供內部使用,並會從未來的 API 版本中移除。 您必須使用 AuthenticationToken 元素來設定用戶認證。 | string |
UserName | 此元素會保留供內部使用,並會從未來的 API 版本中移除。 您必須使用 AuthenticationToken 元素來設定用戶認證。 | string |
Response 元素
PollGenerateReportResponse 物件會定義服務作業響應的主體和標頭元素。 這些元素的傳回順序與 回應SOAP中所示的順序相同。
回應本文專案
元素 | 描述 | 資料類型 |
---|---|---|
ReportRequestStatus | 包含報表要求和下載 URL 的狀態。 | ReportRequestStatus |
回應標頭元素
元素 | 描述 | 資料類型 |
---|---|---|
TrackingId | 包含 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>
程序代碼語法
範例語法可以與 Bing 廣告 SDK 搭配使用。 如需更多範例,請參閱 Bing 廣告 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 |
要求標頭元素
元素 | 描述 | 資料類型 |
---|---|---|
授權 | OAuth 存取令牌,代表有權Microsoft Advertising 帳戶之用戶的認證。 請確定令牌前面加上 「Bearer」 ,這是正確驗證的必要專案。 如需詳細資訊,請 參閱使用 OAuth 進行驗證。 |
string |
CustomerAccountId | 擁有或與要求中實體相關聯之廣告帳戶的標識碼。 當兩者都需要時,此標頭元素必須具有與 AccountId body 元素相同的值。 此元素是大部分服務作業的必要專案,最佳做法是一律加以設定。 如需詳細資訊, 請參閱取得您的帳戶和客戶標識符。 |
string |
CustomerId | (使用者存取或操作之使用者) 客戶的管理員帳戶標識碼。 用戶可以存取多個管理員帳戶。 此元素是大部分服務作業的必要專案,最佳做法是一律加以設定。 如需詳細資訊, 請參閱取得您的帳戶和客戶標識符。 |
string |
DeveloperToken | 用來存取 Bing 廣告 API 的開發人員令牌。 如需詳細資訊 ,請參閱取得開發人員令牌。 |
string |
密碼 | 此元素會保留供內部使用,並會從未來的 API 版本中移除。 您必須使用 AuthenticationToken 元素來設定用戶認證。 | string |
UserName | 此元素會保留供內部使用,並會從未來的 API 版本中移除。 您必須使用 AuthenticationToken 元素來設定用戶認證。 | string |
Response 元素
PollGenerateReportResponse 物件會定義服務作業響應的主體和標頭元素。 這些元素的傳回順序與 回應 JSON 中所示的順序相同。
回應本文專案
元素 | 描述 | 資料類型 |
---|---|---|
ReportRequestStatus | 包含報表要求和下載 URL 的狀態。 | ReportRequestStatus |
回應標頭元素
元素 | 描述 | 資料類型 |
---|---|---|
TrackingId | 包含 API 呼叫詳細數據的記錄項目識別碼。 | string |
要求 JSON
此範本是由工具所產生,用來顯示 JSON 要求的 主體 和 標頭 元素。 如需可搭配此服務作業使用的支援類型,請參閱上述 的要求本文項目 參考。
{
"ReportRequestId": "ValueHere"
}
回應 JSON
此範本是由工具所產生,用來顯示 JSON 回應的 主體 和 標頭 元素。
{
"ReportRequestStatus": {
"ReportDownloadUrl": "ValueHere",
"Status": "ValueHere"
}
}
程序代碼語法
若要透過 SDK 呼叫 REST API,您必須將 SDK 升級至特定版本並設定系統參數。範例語法可以與 Bing 廣告 SDK 搭配使用。 如需更多範例,請參閱 Bing 廣告 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)