簡體   English   中英

如何在Google Drive SDK中檢查文件夾對用戶的權限?

[英]How Do i check permission of a folder to a user in Google Drive SDK?

我已將Google Drive集成到我的網站中。 我正在使用Google Drive Java API v2。 我遇到一種情況,當用戶登錄我的網站時,我需要檢查他對與該網站相關聯的Google雲端硬盤文件夾(例如Folder1)的權限,並基於權限我需要向他顯示內容。 我與該用戶有關的所有信息是Google Drive FolderID, EmailAddress and access token 如何檢查用戶對Give文件夾的權限? 這是我的代碼。

我試圖通過向Google進行Ajax調用來顯示我的網站中的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"
     }
    } 

如果您沒有他的訪問/刷新令牌:除非您自己授予許可並記住了PermissionId,否則您將無法獲得。 如果您有他的令牌:請使用訪問令牌嘗試列出文件夾內容。 查看它是否失敗並顯示“沒有權限”。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM