我有下一个方法来共享Google云端硬盘文件:
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;
}
当变量注释器为 false 时,一切正常(我们不设置附加角色),但如果我希望用户具有角色"读者"和"评论者",我会收到下一个错误:
发生错误:com.google.api.client.googleapis.json.GoogleJsonResponseException:500 内部服务器错误 { "代码" : 500, "错误" : [ { "域" : "全局", "消息" : "内部错误", "原因" : "内部错误" } ], "消息" : "内部错误" }
有没有人遇到过这种问题?
如果传递的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"
}
}
希望Google云端硬盘API错误消息将提供更多信息(500内部服务器错误)。