谷歌云端硬盘API的Java权限500内部错误

问题描述:

我给大家分享谷歌云端硬盘文件的下一个方法:谷歌云端硬盘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" 
    } 

就与这种问题的人的经验?

我得到了这种错误,如果通过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内部服务器错误)。