Java 如何在Google Drive SDK中检查用户对文件夹的权限?

Java 如何在Google Drive SDK中检查用户对文件夹的权限?,java,jquery,google-drive-api,Java,Jquery,Google Drive Api,我有谷歌驱动器集成到我的网站。我使用的是谷歌硬盘JavaAPIv2。我有一种情况,当用户登录到我的网站时,我需要检查他对与该网站关联的Google Drive文件夹(比如Folder1)的权限,并根据我需要向他显示内容的权限。我所掌握的有关该用户的所有信息都是Google Drive FolderID、EmailAddress和access token。如何检查用户对给定文件夹的权限?这是我的密码 我试图通过ajax调用Google来显示我站点中的Google文件夹,然后给出访问令牌/文件ID。

我有谷歌驱动器集成到我的网站。我使用的是谷歌硬盘JavaAPIv2。我有一种情况,当用户登录到我的网站时,我需要检查他对与该网站关联的Google Drive文件夹(比如Folder1)的权限,并根据我需要向他显示内容的权限。我所掌握的有关该用户的所有信息都是
Google Drive FolderID、EmailAddress和access token
。如何检查用户对给定文件夹的权限?这是我的密码

我试图通过ajax调用Google来显示我站点中的Google文件夹,然后给出访问令牌/文件ID。如果用户没有权限,那么它将发送404错误,说明文件未找到,如下所示。但它应该向我显示一个“权限错误”。该文件确实存在

function showLinkedGoogleFolder(fileId) {
    $.ajax({
            timeout: 10000, // Timeout (in ms) = 10sec
            url: _getGoogleDriveUrl(fileId),
            beforeSend: function(xhr) {
                xhr.setRequestHeader('Authorization', 'Bearer ' + accessToken);
            },
            type: 'GET',
            dataType: 'json',
            success: function(data, textStatus, jqXHR) {
                if (typeof(callback) === 'function') {
                    callback(data, textStatus, jqXHR);
                }
            },
            error: function(data, textStatus, jqXHR) {
                if (typeof(errorCallback) === 'function') {
                    errorCallback(data, textStatus, jqXHR);
                }
            },
            complete: function(jqXHR, textStatus) {
                if (typeof(completeCallback) === 'function') {
                    completeCallback(jqXHR, textStatus);
                }
            }
        });
}

    function _getGoogleDriveUrl(fileId) {
        var host = "../"; // relative path to proxy
        var proxyName = "proxy/google-drive-lti";
        var result = host+proxyName+'/drive/v2/files/';
        if ($.trim(fileId) !== '') {
            result = result + fileId;
        }
        return result;
    }
    {
     "error": {
      "errors": [
       {
        "domain": "global",
        "reason": "notFound",
        "message": "File not found: 0BwwFUSF0YgJgUHo2Y0pBOW5lNmc"
       }
      ],
      "code": 404,
      "message": "File not found: 0BwwFUSF0YgJgUHo2Y0pBOW5lNmc"
     }
    } 

如果您没有他的访问/刷新令牌:除非您自己给出了权限并记住了权限ID,否则您不能。
如果您确实有他的令牌:则使用访问令牌尝试列出文件夹内容。看看它是否在“没有权限”的情况下失败。

是我们可以在JavaAPI中检查的一种方法。你能给我介绍一下这个id是怎么做的吗?现在我看到google发送了一条404错误消息,说“文件未找到:obewdsfsf”,而不是没有权限错误。这都在文档中。查找并发布您尝试过的代码。稍后将发布。我可以根据访问令牌和FILEID404检查用户权限的文档在哪里。如果用户对某个文件没有权限,那么谷歌甚至不会泄露该文件存在或不存在的事实。这是一个标准的安全过程。这有点像使用用户名和密码登录网站。网站不会说“用户名是正确的,但密码是错误的”。他们只是说“给定的用户名和密码不匹配”。