簡體   English   中英

如何處理Dropbox java API中的錯誤

[英]How to deal with errors in the Dropbox java API

在嘗試開發與某些雲服務交互的應用程序時,我發現Dropbox API for Java特別令人困惑。

具體如何查找HTTP錯誤。 例如,如果請求失敗,使用Google Drive API會拋出IOException,但是您可以將該IOException解析為GoogleJsonResponseException,然后您可以提取狀態代碼。

try {
    File f =drive.files().create(fileMetadata).setFields("id").execute();
    return f.getId();
} catch (IOException e) {
    if (e instanceof GoogleJsonResponseException){
          int statusCode = ((GoogleJsonResponseException) e).getStatusCode();
          errorHandler(statusCode);
   } else {
       e.printStackTrace();
   }
}

所以java dropbox API(特別是3.0.5)中有這樣的東西。 我一直在環顧四周,似乎沒有,但我想確定在我走下這里提到的極其專業和復雜編碼的兔子洞之前。 如果有人可以請給我一個例子,說明我如何正確處理這些例外。

[交叉鏈接供參考: https//www.dropboxforum.com/t5/API-support/How-to-get-error-responses-java-api/mp/258338#M14989 ]

Dropbox Java SDK會自動將HTTPS響應中的結構化錯誤數據解析為本機類,您可以根據需要使用該特性的多少。 結構化錯誤響應(通常是響應主體中的JSON)提供的粒度遠遠超過狀態代碼。

例如,以下是您鏈接到我的帖子的 StackOverflow文檔中缺少的代碼示例:

try {
    SharedLinkMetadata sharedLinkMetadata = client.sharing().createSharedLinkWithSettings("/test.txt");
    System.out.println(sharedLinkMetadata.getUrl());
} catch (CreateSharedLinkWithSettingsErrorException ex) {
    System.out.println(ex);
} catch (DbxException ex) {
    System.out.println(ex);
}

這是一個示例 ,說明如何檢查特定的錯誤情況(即該示例中的“路徑”錯誤)。

這是處理這些異常的推薦方法。 我不相信SDK提供了一種檢索原始未解析錯誤響應的方法。 (如果您不想使用SDK,則可以直接自己調用HTTPS端點 。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM