2012-12-13 160 views
4

我給大家分享谷歌雲端硬盤文件的下一個方法:谷歌雲端硬盤API的Java權限500內部錯誤

public static boolean shareFile(HttpServletRequest httpReq, String fileId, String user, String rol, boolean commenter) {   
    Drive service = getService(httpReq) ; 

    if (service != null){ 
     Permission newPermission = new Permission(); 

     newPermission.setValue(user); 
     newPermission.setType("user"); 
     newPermission.setRole(rol); 

     if (commenter) 
      newPermission.setAdditionalRoles(Arrays.asList("commenter")); 

     try {  
      service.permissions().insert(fileId, newPermission).execute(); 
      return true; 

     } catch (Exception e) {  
      System.out.println("An error occured: " + e); 
     } 
    } 
    return false; 

} 

一切正常時可變評議是假的罰款(不設置addiotional角色),但如果我希望用戶有角色「讀者」和「評論者」,我得到了一個錯誤:

 
    An error occured: com.google.api.client.googleapis.json.GoogleJsonResponseException: 500 Internal Server Error 
    { 
     "code" : 500, 
     "errors" : [ { 
      "domain" : "global", 
      "message" : "Internal Error", 
      "reason" : "internalError" 
     } ], 
     "message" : "Internal Error" 
    } 

就與這種問題的人的經驗?

回答

1

我得到了這種錯誤,如果通過ID字段是不正確的。 奇怪的錯誤代碼,我認爲像4XX這裏更適合(不是500)。

100%重現性。

請求:

POST https://www.googleapis.com/drive/v2/files/0B28tlN6SgYRaNVRFRENpRFN3bGs/permissions?key={YOUR_API_KEY} 


{ 
"role": "reader", 
"type": "user", 
"id": "16887416236869940585" 
} 

響應:

500 Internal Server Error 

{ 
"error": { 
    "errors": [ 
    { 
    "domain": "global", 
    "reason": "internalError", 
    "message": "Internal Error" 
    } 
    ], 
    "code": 500, 
    "message": "Internal Error" 
} 
} 

希望谷歌雲端硬盤API錯誤消息將提供更多的信息是(500內部服務器錯誤)。

相關問題