Google Drive API Java Permissions 500 内部错误



我有下一个方法来共享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内部服务器错误)。

相关内容

最新更新