共用方式為


處理服務錯誤和例外狀況

本文說明錯誤處理和疑難解答應用程式的詳細數據。

提示

當您建立 SOAP 要求訊息時,請確定元素的順序與 Web 服務描述語言 (WSDL) 中所定義的順序相同。 如果必要元素的順序不符,呼叫將會失敗。 如果選擇性元素的順序不符,呼叫可能會失敗,否則會忽略元素。 如需詳細資訊,請參閱 SOAP XML元素順序

常見的 API 錯誤

以下是一些處理您可能會遇到之常見服務錯誤的秘訣。 如需 Bing 廣告 API 錯誤碼的完整清單,請參閱 作業錯誤碼

程序代碼 105

通常表示使用不正確的存取令牌 (目標環境的 AuthenticationToken 標頭專案) 或開發人員令牌。 例如,您的認證在生產環境中可能有效;不過,以沙盒為目標時,您會看到程式代碼 105

程序代碼 106

通常表示雖然認證對目標環境是正確的,但用戶無法存取要求中指定的其中一個實體。 例如,如果使用者沒有指定帳戶的許可權,您就會發現呼叫 SubmitGenerateReportRequest 時發生此錯誤。

程序代碼 117

如果您超過服務呼叫限制,您會看到下列錯誤:

  • 數值錯誤碼: 117
  • 符號錯誤碼: CallRateExceeded
  • 訊息: 您已超過一分鐘內允許撥打的通話數目。請減少您每分鐘撥打的通話數目。

當您觀察到此錯誤時,您可以在等候 60 秒之後,於限制下重新提交要求。

內部錯誤

服務偶爾可能會傳回內部錯誤,如下所示:

<OperationError>
  <Code>0</Code>
  <Details i:nil="true"/>
  <ErrorCode>InternalError</ErrorCode>
  <Message>An internal error has occurred.</Message>
</OperationError>

以下是一些可能的內部錯誤案例:

  • 這是暫時性的系統問題,您無法採取任何動作。 如果之前曾為您進行過相同的呼叫,請稍後再試,以防我們已解決伺服器端的問題。
  • 作業未正確對應至可採取動作的錯誤碼。 在理想情況下,如果用戶端可以執行任何動作來解決問題,Bing 廣告 API 應該會傳回可採取動作的錯誤碼。 如果您持續觀察內部錯誤,請 連絡支援人員 並提供詳細數據。

HTTP 500

所有 Bing 廣告 API 服務作業都遵守簡易物件存取通訊協定 (SOAP) 1.1 規格,其中會使用 HTTP 500 程式代碼傳回錯誤。 例如,請參閱下列內容。

HTTP/1.1 500 Internal Server Error

這不在 且本身代表可採取動作的程式代碼,您應該檢查錯誤詳細數據,以取得特定錯誤的詳細資訊。

無法建立抽象類

您無法建立基類的實例,例如 Ad。 您必須具現化其中一個衍生類別,例如 ExpandedTextAd

為什麼我會從報告 API 呼叫取得空白 URL?

即使報表 狀態 設定為成功,如果送出的報表參數沒有可用的數據, ReportDownloadUrl 元素也可以是 nil。 如果您在 Microsoft Advertising Web 應用程式中看到相同日期範圍和篩選準則的效能數據,請 連絡支持人員 並提供詳細數據。

常見的 OAuth 錯誤

以下是處理您可能會遇到之常見授權錯誤的一些秘訣。

AADSTS 錯誤

AADSTS 錯誤碼和訊息可能會變更。 如需最新的資訊,請查看 https://login.microsoftonline.com/error 頁面以尋找 AADSTS 錯誤描述、修正和一些建議的因應措施。

搜尋傳回錯誤碼的數值部分。 例如,如果您收到錯誤碼 「AADSTS650052」,請在 中 https://login.microsoftonline.com/error 搜尋 「650052」。。 您也可以將錯誤碼編號新增至 URL,直接連結至特定錯誤: https://login.microsoftonline.com/error?code=650052

以下將詳細說明一些最常見的 AADSTS 錯誤,例如AADSTS50011、AADSTS650052和AADSTS700016。

AADSTS50011

向 Microsoft 身分識別平臺端點 要求存取令牌 時,可能會在 JSON 字串內傳回AADSTS50011錯誤,如下所示。

{"error":"invalid_client","error_description":"AADSTS50011: The reply url specified in the request
does not match the reply urls configured for the application: 'foo'.\r\nTrace ID:
x\r\nCorrelation ID: x\r\nTimestamp: 2019-05-10
17:18:23Z","error_codes":[50011],"timestamp":"2019-05-10
17:18:23Z","trace_id":"x","correlation_id":"x"}

當您要求使用者同意時,也可能會在瀏覽器視窗中以文字傳回無效的重新導向 URI 錯誤,如下所示。

invalid_request:輸入參數 'redirect_uri' 提供的值無效。 預期的值是符合為此用戶端應用程式註冊之重新導向 URI 的 URI。

如果您發現此錯誤,可能是重新導向 URI 未正確 註冊,或您的應用程式未使用已註冊的重新導向 URI。

AADSTS650052

650052錯誤碼可以傳回訊息「應用程式需要存取服務 (」https://ads.microsoft.com") 您的組織 “{organization}” 尚未訂閱或啟用。」

如果您發現此錯誤,請確定您已為 Microsoft Advertising Web 應用程式中的工作帳戶新增並啟用 Azure AAD 租使用者中的至少一個系統管理員使用者。 請 連絡支持人員 以取得進一步的協助。

AADSTS700016

您可以傳回700016錯誤碼,並顯示「目錄 』{tenantName}' 中找不到標識符為 '{appIdentifier}' 的應用程式」訊息。

如果您的舊版應用程式標識碼 (也稱為用戶端標識符) 格式化為十六進位值,例如 00000000012345A67,則您必須 註冊 新的應用程式。 與 Microsoft 身分識別平臺搭配使用的有效應用程式識別碼會格式化為具有破折號的 GUID,例如 ab01c23d-4e56-7f8a-90bc-1d23efabc45d。 如果您在 Azure 入口網站 - 應用程式註冊中看不到現有的應用程式,這表示您應該將它取代為新的應用程式。

無效的重新導向 URI

向 Live Connect 端點要求存取令牌時,可能會在 JSON 字串內傳回無效的重新導向 URI 錯誤,如下所示。

{"error":"invalid_grant","error_description":"The provided value for the 'redirect_uri' is not
valid. The value must exactly match the redirect URI used to obtain the authorization code."}

當您要求使用者同意時,也可能會在瀏覽器視窗中以文字傳回無效的重新導向 URI 錯誤,如下所示。

invalid_request:輸入參數 'redirect_uri' 提供的值無效。 預期的值是符合為此用戶端應用程式註冊之重新導向 URI 的 URI。

如果您發現此錯誤,可能是重新導向 URI 未正確 註冊,或您的應用程式未使用已註冊的重新導向 URI。

無效的授與

如果您嘗試使用使用者不同意的範圍重新整理令牌,可能會傳回 invalid_grant 錯誤。

{
    "error":"invalid_grant",
    "error_description":"AADSTS70000: The request was denied because one or more scopes requested are unauthorized or expired. The user must first sign in and grant the client application access to the requested scope."
}

如果重新導向 URI 無效、重新整理令牌已過期、使用者變更其密碼,或令牌已撤銷,也可能會傳回invalid_grant錯誤。

{"error":"invalid_grant","error_description":"The user could not be authenticated or the grant is expired. The user must first sign in and if needed grant the client application access to the requested scope."}

在沒有任何事先警告的情況下,Microsoft 可能會判斷應該再次授與使用者同意;不過,有些案例會在您的控件內。 在跨 Microsoft Azure 等區域和裝置的服務上執行應用程式的用戶端,應該向客戶端密碼 註冊 Web 應用程式。 只要您有相同的用戶端標識碼和客戶端密碼,您就可以在一部裝置上取得重新整理令牌,並在另一個裝置上重新整理令牌。 如果您在沒有客戶端密碼的情況下註冊公用應用程式,則無法跨裝置使用重新整理令牌。 機密令牌會系結至客戶端密碼。 如果您使用沒有客戶端密碼的公用用戶端應用程式識別碼在美國取得重新整理令牌,然後稍後嘗試重新整理歐盟區域中的令牌,您會發現invalid_grant錯誤。

找不到應用程式或未經授權的用戶端

如果您觀察到「unauthorized_client:用戶端不存在」或「目錄 』bar' 中找不到標識符為 'foo' 的應用程式」之類的錯誤,請確定應用程式仍存在於正確的目標環境,例如生產環境或沙盒。

如果您使用具有簡短十六進位格式的即時 SDK 應用程式識別碼來呼叫 Microsoft 身分識別平臺端點,例如 0000000000012345A67,則可能會傳回找不到的應用程式錯誤。 在此情況下,您必須 註冊 新的應用程式。 有效的 Microsoft 身分識別平臺應用程式標識符會格式化為 GUID,其中包含破折號,例如 ab01c23d-4e56-7f8a-90bc-1d23efabc45d。 

如果您已在 Azure 入口網站中註冊應用程式,請在 [支援的帳戶類型] 區段中,確定您已選取 任何組織目錄和個人 Microsoft 帳戶中的 [帳戶]。 (請參閱 註冊 應用程式) 如果您未在初始設定期間選擇此選項,Azure 入口網站可能會要求您註冊新的應用程式。

應用程式未設定為多租用戶應用程式

如果您註冊的應用程式僅限於特定租使用者,您可能會看到下列錯誤。

Application 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxx' is not configured as a multi-tenant application. Usage of the /common endpoint is not supported for such applications created after '10/15/2018'. Use a tenant-specific endpoint or configure the application to be multi-tenant.

如果您已在 Azure 入口網站中註冊應用程式,請在 [支援的帳戶類型] 區段中,確定您已選取 任何組織目錄和個人 Microsoft 帳戶中的 [帳戶]。 (請參閱 註冊 應用程式) 如果您未在初始設定期間選擇此選項,Azure 入口網站可能會要求您註冊新的應用程式。

連絡客戶支援

Microsoft Q&A 論壇可供開發人員社群詢問及回答 Bing 廣告 API 和 Microsoft Advertising 腳本的相關問題。 Microsoft 會監視論壇,並回復社群尚未回答的問題。

重要事項

若要確定我們已看到您的問題,請將它標記為 『advertising-api』。

如果調查涉及敏感性帳戶或個人詳細數據,或您找不到透過 Microsoft Q&A 解決問題所需的資訊,請連絡 Microsoft Advertising 支持服務

提示

若要加速調查,請提供詳細數據的支援,例如開發環境、錯誤頻率,以及重現錯誤的步驟。

如需 Bing 廣告 API 服務呼叫的說明,請逐步執行此檢查清單,並將結果提供給 支援小組

  • 嘗試呼叫服務的使用者是誰,例如,什麼是登入電子郵件位址?
  • 用戶嘗試存取的帳戶標識碼或帳戶號碼為何?
  • 重現錯誤所需的步驟為何? 包含完整的要求、回應和時間戳,但私人認證除外,例如存取令牌。
  • 您的目標是生產環境還是沙盒環境? 請確定您針對生產環境與沙箱使用正確的應用程式註冊和授權端點。 同樣地,請務必針對相同的環境使用正確的 Web 服務位址
  • 指出相同的要求在過去是否已為您運作,也就是歷史效能。
  • 指出您現在是否可以每次或間歇性重現問題。
  • 如需大量或報表服務的相關問題,請同時包含要求和狀態輪詢作業的追蹤。
  • 針對與錯誤碼 105 或 106 相關的驗證問題,請也包含 Microsoft Advertising 使用者登入認證的系統識別碼。 若要取得目前使用者的使用者標識碼,請參閱 快速入門 指南。

如需使用 OAuth 取得驗證存取和重新整理令牌的協助,請逐步執行此檢查清單,並將結果提供給 支援小組

  • 嘗試驗證的使用者是誰,例如,什麼是登入電子郵件位址?
  • 用戶嘗試存取的帳戶標識碼或帳戶號碼為何?
  • 重現錯誤所需的步驟為何? 包含完整的要求、回應和時間戳,但私人認證除外,例如存取令牌和客戶端密碼。
  • 您的目標是生產環境還是沙盒環境? 請確定您針對生產環境與沙箱使用正確的應用程式註冊和授權端點。 同樣地,請務必針對相同的環境使用正確的 Web 服務位址
  • 您是否 已註冊 原生或 Web 應用程式? 在跨 Microsoft Azure 等區域和裝置的服務上執行應用程式的用戶端,應該向客戶端密碼註冊 Web 應用程式。
  • 您註冊的應用程式識別碼 (client_id) 什麼? 如果您也有應用程式密碼 (client_secret) 請確認您是在從授權端點要求存取令牌時進行設定,但不要與任何人共用。
  • 執行 OAuth 診斷健康情況檢查。 您是否可以成功取得存取令牌,並完成生產環境或沙箱的 快速入 門指南? 如果沒有,驗證會在哪裡失敗,錯誤是什麼?

錯誤模型概觀

當 Bing 廣告 API 服務作業失敗時,它會傳回服務錯誤,例如,客戶管理服務可以傳回 ApiFault。 錯誤例外狀況包含一或多個錯誤物件。 錯誤物件包含服務作業失敗原因的詳細數據,以及唯一識別錯誤的程序代碼。 如需錯誤碼的清單,請參閱 Bing 廣告 API 作業錯誤碼

可用的錯誤和數據物件會因每個服務而異。 下表描述每個服務的錯誤模型和錯誤數據對象的連結。

Service 描述
Ad Insight 所有廣告深入解析作業都可能會擲 回 AdApiFaultDetailApiFaultDetail
大量 所有大量作業都可能會擲 回 AdApiFaultDetailApiFaultDetail
營銷活動管理 所有營銷活動管理作業可能會擲 回 AdApiFaultDetail

某些營銷活動管理作業也可能擲 回 ApiFaultDetail 或編輯 ApiFaultDetail

如需詳細資訊,請參閱 行銷活動管理數據物件
客戶計費 所有客戶計費作業可能會擲回 AdApiFaultDetailApiFault

某些客戶計費作業也可能擲回 ApiBatchFault
客戶管理 所有客戶管理作業可能會擲回 AdApiFaultDetailApiFault
報告 所有報告作業都可能會擲 回 AdApiFaultDetailApiFaultDetail

注意事項

所有錯誤物件都衍生自 ApplicationFault 物件。 ApplicationFault 物件會定義 TrackingId 元素,以唯一識別包含 API 呼叫詳細數據的記錄專案。 如果您需要 連絡支持人員,請提供追蹤標識符,其中包含您呼叫服務作業的日期和時間。

部分成功

部分成功表示以一或多個批次方式新增、更新或刪除實體時,部分批次的作業可能會成功,而部分批次則會失敗。

大量服務的部分成功

當您在大量檔案上傳記錄時,某些記錄的上傳可能會成功,而批次中的其他記錄則會失敗。 當您呼叫 GetBulkUploadUrl 時,可以選擇是否要在上傳結果檔案中接收錯誤。

注意事項

Microsoft Advertising 不支援「全部或全無」錯誤處理行為。 您必須在客戶端處理該問題。

營銷活動管理服務的部分成功

對於大部分的實體而言,呼叫 營銷活動管理 服務作業時支援部分成功。 對於未新增實體的每個清單索引,對應的專案會是 Null。 PartialErrors 元素代表 BatchError 物件的陣列,其中包含未成功新增、更新或刪除之任何實體的詳細數據。 此清單只包含 一個 BatchError 來進行失敗的嘗試,而且不會在每個成功新增實體的索引中包含 Null 元素。 同樣地,某些作業會傳回 NestedPartialErrors 作為 BatchErrorCollection 或二維 BatchError 的清單。

注意事項

ApplyProductPartitionActions 作業在回應中包含 PartialErrors;不過,不支援部分成功。 可能是整個要求的動作集合成功,且已完整填入 AdGroupCriterionIds 回應清單,或全部都失敗,且 PartialErrors 回應清單已完全填入。

.NET 例外狀況

如果您使用 Bing 廣告 .NET SDK,您的應用程式應該準備好處理 Bing 廣告 API 服務等級例外狀況、 WCF 例外狀況和 Bing 廣告 .NET SDK 例外狀況,如下所述。

如需 .NET 應用程式的疑難解答,請參閱 .NET SDK 疑難解答

WCF 例外狀況

您可能也會擲回不是 Bing 廣告 API 特有的一般 SOAP 錯誤,而且應該由您的應用程式攔截。 例如,.NET 應用程式可能會擲回 Windows Communication Foundation (WCF) 例外狀況,例如 Exception、TimeoutException 和 CommunicationException。 如需 WCF 應該預期的例外狀況相關信息,請參閱 預期的例外狀況

您不應該在 finally 區塊中呼叫 Close 方法來釋放服務物件。 反之, Close 方法可能會擲回例外狀況。 如果 Close 擲回例外狀況,您必須呼叫 Abort 方法以確保釋放所有資源;否則,您可能會在伺服器上洩漏資源。 建議的做法是在 try 區塊內呼叫 Close ,並從攔截到的例外狀況呼叫 Abort

基於相同原因,不建議使用 using 語句。 如需詳細資訊,請 參閱避免Using語句的問題

.NET SDK 例外狀況

Bing 廣告 .NET SDK 例外狀況會抽象化一些服務等級例外狀況。 若要解決大部分的例外狀況,您可以再試一次,如果問題在多次重試之後持續發生,請隨意連絡支持人員。

Exception 命名空間 描述
CouldNotDownloadResultFileException Microsoft.BingAds 嘗試下載大量或報告結果檔案失敗之後,內部 SDK HttpService 會擲回此例外狀況。
CouldNotUploadFileException Microsoft.BingAds 嘗試上傳大量檔案失敗之後,內部 SDK HttpService 會擲回此例外狀況。
OAuthTokenRequestException Microsoft.BingAds 如果從Microsft帳戶授權伺服器傳回錯誤,就會擲回此例外狀況。 若要解決此例外狀況,您可以先檢查堆疊追蹤以查看錯誤詳細數據,以防您採取一些動作來解決問題。 例如,您可能已指定無效的用戶端識別碼。
BulkOperationCouldNotBeCompletedException Microsoft.BingAds.V13.Bulk 如果嘗試輪詢已完成的大量結果檔案,且大量服務傳回失敗狀態,就會擲回此例外狀況。
BulkOperationInProgressException Microsoft.BingAds.V13.Bulk 如果嘗試下載尚未提供的大量結果檔案,就會擲回此例外狀況。
CouldNotGetBulkOperationStatusException Microsoft.BingAds.V13.Bulk 如果 BulkServiceManager 在多次重試之後無法取得上傳或下載作業狀態,就會擲回此例外狀況。
CouldNotSubmitBulkDownloadException Microsoft.BingAds.V13.Bulk 當所呼叫的 DownloadCampaignsByAccountIds 服務作業未傳回有效的回應時,BulkServiceManager 會擲回這個例外狀況。
CouldNotSubmitBulkUploadException Microsoft.BingAds.V13.Bulk 當所呼叫的 GetBulkUploadUrl 服務作業未傳回有效的回應時,BulkServiceManager 會擲回這個例外狀況。
EntityReadException Microsoft.BingAds.V13.Bulk 嘗試使用 BulkFileReader 從大量檔案讀取實體時,會擲回這個例外狀況。 若要解決此例外狀況,您可以先檢查堆疊追蹤以查看錯誤詳細數據,以防您採取一些動作來解決問題。 例如,您嘗試讀取的大量檔案在其中一個字段中可能有無效的值。
EntityWriteException Microsoft.BingAds.V13.Bulk 嘗試使用 BulkFileWriter 將實體寫入大量檔案時,會擲回這個例外狀況。 若要解決此例外狀況,您可以先檢查堆疊追蹤以查看錯誤詳細數據,以防您採取一些動作來解決問題。 例如,您可能為其中一個上傳實體指定了無效的值。
CouldNotGetReportingDownloadStatusException Microsoft.BingAds.V13.Reporting 如果 ReportingServiceManager 在多次重試後無法取得下載作業狀態,就會擲回此例外狀況。
CouldNotSubmitReportingDownloadException Microsoft.BingAds.V13.Reporting 當 ReportingServiceManager 呼叫的 SubmitGenerateReport 服務作業未傳回有效的回應時,就會擲回這個例外狀況。
ReportingOperationCouldNotBeCompletedException Microsoft.BingAds.V13.Reporting 如果嘗試輪詢已完成的報告結果檔案,且報表服務傳回失敗的狀態,就會擲回此例外狀況。
ReportingOperationInProgressException Microsoft.BingAds.V13.Reporting 如果嘗試下載尚未提供的報告結果檔案,就會擲回此例外狀況。

.NET SDK 疑難解答

除非有 已知的服務問題,通常是當呼叫失敗時,這是因為SOAP元素無效、順序不正確,或您指定了錯誤的認證。 若要確認這兩種情況,您應該擷取要求SOAP信封。 您可以 連絡支持人員 ,或將擷取與針對每個服務作業所記載的對應SOAP範例進行比較。

SDK 追蹤

您可以使用 Bing Ads .NET SDK TraceBehavior 來記錄 SOAP 要求和回應。

注意事項

TraceBehavior 適用於 Bing Ads .NET SDK 12.13.5 版和更新版本。

using (StreamWriter streamWriter = new StreamWriter(@"tracelog.txt"))
{
    streamWriter.AutoFlush = true;

    // For console output instead of file output, use new TextWriterTraceListener(Console.Out).
    // If you only need debug output, you can remove the StreamWriter, TraceListener, and AddTraceSource.
    TraceListener traceListener = new TextWriterTraceListener(streamWriter.BaseStream);

    IServiceCollection serviceCollection = new ServiceCollection();
    serviceCollection.AddLogging(builder => builder
        .AddTraceSource(new SourceSwitch("ProgramSourceSwitch", "verbose"), traceListener)
        .AddDebug()
        .AddFilter(level => level >= LogLevel.Debug)
    );
    var iLoggerFactory = serviceCollection.BuildServiceProvider().GetService<ILoggerFactory>();
    TraceBehavior.Instance.AddMessageInspector(
        new LogMessageInspector(
            iLoggerFactory.CreateLogger<Program>(),
            LogLevel.Information)
    );

    Authentication authentication = AuthenticateWithOAuth();

    // This utiltiy operation sets the global authorization data instance 
    // to the first account that the current authenticated user can access. 

    SetAuthorizationDataAsync(authentication).Wait();

    // Run all of the examples that are included above.

    foreach (var example in _examples)
    {
        example.RunAsync(_authorizationData).Wait();
    }

    streamWriter.Flush();
    traceListener.Flush();
}

您可以在 Program.cs 中找到使用上述代碼段的完整程式。

Fiddler 選項

您可以遵循下列步驟,使用 Fiddler 等第三方工具,從 .NET 應用程式擷取 SOAP 信封。

  • 安裝 Fiddler 之後,請從跟證書存儲匯出 Fiddler 憑證。
  • 按兩下 [工具>] [Fiddler 選項]
  • 選取 [HTTPS] 索 引標籤,然後按兩下 [ 解密 HTTPS 流量 ] 複選框。
  • 按兩下 [確定],然後依照提示匯出 Fiddler 憑證。

Java 例外狀況

如果您使用 Bing 廣告 Java SDK,您的應用程式應該準備好處理 Bing 廣告 API 服務等級例外 狀況和 Bing 廣告 Java SDK 例外狀況,如下所述。

如需 Java 應用程式的疑難解答,請參閱 Java SDK 疑難解答

Java SDK 例外狀況

Bing 廣告 Java SDK 例外狀況會擷取一些服務等級例外狀況。 若要解決大部分的例外狀況,您可以再試一次,如果問題在多次重試之後持續發生,請隨意連絡支持人員。

Exception 命名空間 描述
CouldNotDownloadResultFileException com.microsoft.bingads 嘗試下載大量或報告結果檔案失敗之後,內部 SDK HttpService 會擲回此例外狀況。
CouldNotUploadFileException com.microsoft.bingads 嘗試上傳大量檔案失敗之後,內部 SDK HttpService 會擲回此例外狀況。
OAuthTokenRequestException com.microsoft.bingads 如果從Microsft帳戶授權伺服器傳回錯誤,就會擲回此例外狀況。 若要解決此例外狀況,您可以先檢查堆疊追蹤以查看錯誤詳細數據,以防您採取一些動作來解決問題。 例如,您可能已指定無效的用戶端識別碼。
BulkDownloadCouldNotBeCompletedException com.microsoft.bingads.V13.bulk 如果嘗試輪詢已完成的大量下載結果檔案,且大量服務傳回失敗狀態,就會擲回此例外狀況。
BulkOperationInProgressException com.microsoft.bingads.V13.bulk 如果嘗試下載尚未提供的大量結果檔案,就會擲回此例外狀況。
BulkUploadCouldNotBeCompletedException com.microsoft.bingads.V13.bulk 如果嘗試輪詢已完成的大量上傳結果檔案,且大量服務傳回失敗狀態,就會擲回此例外狀況。
CouldNotGetBulkOperationStatusException com.microsoft.bingads.V13.bulk 如果 BulkServiceManager 在多次重試之後無法取得上傳或下載作業狀態,就會擲回此例外狀況。
CouldNotSubmitBulkDownloadException com.microsoft.bingads.V13.bulk 當所呼叫的 DownloadCampaignsByAccountIds 服務作業未傳回有效的回應時,BulkServiceManager 會擲回這個例外狀況。
CouldNotSubmitBulkUploadException com.microsoft.bingads.V13.bulk 當所呼叫的 GetBulkUploadUrl 服務作業未傳回有效的回應時,BulkServiceManager 會擲回這個例外狀況。
EntityReadException com.microsoft.bingads.V13.bulk 嘗試使用 BulkFileReader 從大量檔案讀取實體時,會擲回這個例外狀況。 若要解決此例外狀況,您可以先檢查堆疊追蹤以查看錯誤詳細數據,以防您採取一些動作來解決問題。 例如,您嘗試讀取的大量檔案在其中一個字段中可能有無效的值。
EntityWriteException com.microsoft.bingads.V13.bulk 嘗試使用 BulkFileWriter 將實體寫入大量檔案時,會擲回這個例外狀況。 若要解決此例外狀況,您可以先檢查堆疊追蹤以查看錯誤詳細數據,以防您採取一些動作來解決問題。 例如,您可能為其中一個上傳實體指定了無效的值。
CouldNotGetReportingDownloadStatusException com.microsoft.bingads.V13.reporting 如果 ReportingServiceManager 在多次重試後無法取得下載作業狀態,就會擲回此例外狀況。
CouldNotSubmitReportingDownloadException com.microsoft.bingads.V13.reporting 當 ReportingServiceManager 呼叫的 SubmitGenerateReport 服務作業未傳回有效的回應時,就會擲回這個例外狀況。
ReportingOperationCouldNotBeCompletedException com.microsoft.bingads.V13.reporting 如果嘗試輪詢已完成的報告結果檔案,且報表服務傳回失敗的狀態,就會擲回此例外狀況。
ReportingOperationInProgressException com.microsoft.bingads.V13.reporting 如果嘗試下載尚未提供的報告結果檔案,就會擲回此例外狀況。

Java SDK 疑難解答

除非有 已知的服務問題,通常是當呼叫失敗時,這是因為SOAP元素無效、順序不正確,或您指定了錯誤的認證。 若要在任何情況下進行驗證,您應該擷取要求SOAP信封。 您可以 連絡支持人員 ,或將擷取與針對每個服務作業所記載的對應SOAP範例進行比較。

若要啟用要求和回應消息的程式設計記錄,請參閱 記錄服務呼叫

Fiddler 選項

您可以遵循下列步驟,使用 Fiddler 等第三方工具,從 Java 應用程式擷取 SOAP 信封。

  1. 安裝 Fiddler 之後,請從跟證書存儲匯出 Fiddler 憑證。 按兩下 [工具>] [Fiddler 選項]。 選取 [HTTPS] 索 引標籤,然後按兩下 [ 解密 HTTPS 流量 ] 複選框。 按兩下 [確定],然後依照提示匯出 Fiddler 憑證。

  2. 使用下列命令將憑證匯入 Java 所使用的 cacert 存放區,例如以系統管理員身分從 PowerShell 執行。

    PS C:\Program Files\Java\jre1.8.0_201\bin> .\keytool.exe -importcert -v -alias "Fiddler cert" -trustcacerts -keystore "C:\Program Files\Java\jre1.8.0_201\lib\security\cacerts" -storepass changeit -file <PathToFiddlerRootGoesHere>\FiddlerRoot.cer
    
  3. 將下列幾行新增至您的 Java 應用程式。

    System.setProperty("https.proxyHost", "127.0.0.1");
    System.setProperty("https.proxyPort", "8888");
    

PHP 例外狀況

如果您使用 Bing 廣告 PHP SDK,您的應用程式應該準備好處理 Bing 廣告 API 服務等級例外 狀況和 Bing 廣告 PHP SDK 例外狀況,如下所述。

如需針對 PHP 應用程式進行疑難解答,請參閱 PHP SDK 疑難解答

PHP SDK 疑難解答

除非有 已知的服務問題,通常是當呼叫失敗時,這是因為SOAP元素無效、順序不正確,或您指定了錯誤的認證。 若要確認這兩種情況,您應該擷取要求SOAP信封。 您可以 連絡支持人員 ,或將擷取與針對每個服務作業所記載的對應SOAP範例進行比較。

列印 SOAP

在 PHP 中,您可以使用下列方法來列印 SOAP 信封。 每個 PHP 程式代碼範例都包含這些語句,可將錯誤列印到主控台。

print $proxy->GetService()->__getLastRequest()."\n";
print $proxy->GetService()->__getLastResponse()."\n";

PHP SDK 例外狀況

Bing 廣告 PHP SDK 例外狀況會擷取一些服務等級例外狀況。 若要解決大部分的例外狀況,您可以再試一次,如果問題在多次重試之後持續發生,請隨意連絡支持人員。

您也應該處理 OAuthTokenRequestException,如果從 Microsft 帳戶授權伺服器傳回錯誤,則會擲回此錯誤。 若要解決此例外狀況,您可以先檢查堆疊追蹤以查看錯誤詳細數據,以防您採取一些動作來解決問題。 例如,您可能已指定無效的用戶端識別碼。

Python 例外狀況

如果您使用 Bing 廣告 Python SDK,您的應用程式應該準備好處理 Bing 廣告 API 服務等級例外 狀況和 Bing 廣告 Python SDK 例外狀況,如下所述。

如需針對 Python 應用程式進行疑難解答,請參閱 Python SDK 疑難解答

Python SDK 例外狀況

Bing Ads Python SDK 例外狀況會抽象化一些服務等級例外狀況。 若要解決大部分的例外狀況,您可以再試一次,如果問題在多次重試之後持續發生,請隨意連絡支持人員。

Exception 命名空間 描述
BulkException BingAds.V13.Bulk 如果嘗試輪詢已完成的大量結果檔案,且大量服務傳回失敗狀態,就會擲回此例外狀況。
BulkDownloadException BingAds.V13.Bulk 如果嘗試下載大量檔案時發生逾時,就會擲回此例外狀況。
BulkUploadException BingAds.V13.Bulk 如果嘗試下載大量上傳結果檔案時發生逾時,就會擲回此例外狀況。
EntityReadException BingAds.V13.Bulk 嘗試使用 BulkFileReader 從大量檔案讀取實體時,會擲回這個例外狀況。 若要解決此例外狀況,您可以先檢查堆疊追蹤以查看錯誤詳細數據,以防您採取一些動作來解決問題。 例如,您嘗試讀取的大量檔案在其中一個字段中可能有無效的值。
EntityWriteException BingAds.V13.Bulk 嘗試使用 BulkFileWriter 將實體寫入大量檔案時,會擲回這個例外狀況。 若要解決此例外狀況,您可以先檢查堆疊追蹤以查看錯誤詳細數據,以防您採取一些動作來解決問題。 例如,您可能為其中一個上傳實體指定了無效的值。
FileDownloadException BingAds 如果嘗試下載大量上傳結果檔案時發生逾時,就會擲回此例外狀況。
FileUploadException BingAds 如果嘗試上傳大量檔案時發生逾時,就會擲回此例外狀況。
OAuthTokenRequestException BingAds 如果從Microsft帳戶授權伺服器傳回錯誤,就會擲回此例外狀況。 若要解決此例外狀況,您可以先檢查堆疊追蹤以查看錯誤詳細數據,以防您採取一些動作來解決問題。 例如,您可能已指定無效的用戶端識別碼。
ReportingException BingAds.V13.Reporting 如果嘗試輪詢已完成的報告結果檔案,且報表服務傳回失敗的狀態,就會擲回此例外狀況。
ReportingDownloadException BingAds.V13.Reporting 如果嘗試下載報告結果檔案時發生逾時,就會擲回此例外狀況。
SdkException BingAds Bing Ads Python SDK 的基底例外狀況類別。 永遠不會引發此例外狀況。
TimeoutException BingAds 如果發生逾時,就會擲回此例外狀況。

Python SDK 疑難解答

除非有 已知的服務問題,通常是當呼叫失敗時,這是因為SOAP元素無效、順序不正確,或您指定了錯誤的認證。 若要確認這兩種情況,您應該擷取要求SOAP信封。 您可以 連絡支持人員 ,或將擷取與針對每個服務作業所記載的對應SOAP範例進行比較。

記錄

如果您使用 Bing Ads Python SDK,您可以包含輸出流量的記錄,例如 SOAP 要求和回應。 每個 Python 程式代碼範例都包含這些語句,可將輸出所有 SOAP 流量列印到主控台。 如果您想要檢視流量,請務必取消批注。

import logging
logging.basicConfig(level=logging.INFO)
logging.getLogger('suds.client').setLevel(logging.DEBUG)
logging.getLogger('suds.transport.http').setLevel(logging.DEBUG) 

另請參閱

Bing 廣告 API 作業錯誤碼
Bing 廣告 API Web 服務位址