2013-12-10 24 views
0

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

我試圖通過向Google發送ajax調用,然後訪問令牌/文件標識來顯示我的網站中的Google文件夾。如果用戶沒有權限,那麼它會發送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" 
    } 
    } 
+0

404是正確的。如果用戶沒有權限訪問文件,Google甚至不會泄露文件存在或不存在的事實。這是一個標準的安全過程。這有點像使用用戶名和密碼登錄網站。網站沒有說'用戶名正確,但密碼錯誤'。他們只是說'沒有匹配給定的用戶名和密碼'。 – pinoyyid

回答

0

如果你沒有他的訪問/刷新令牌:除非你自己給了權限並且記住permissionId,否則你不能。 如果您確實有他的令牌:那麼使用訪問令牌嘗試列出文件夾內容。看看它是否以「沒有許可」的方式失敗。

+0

是他們的一種方式,我們可以在javaAPis中檢查它。你能告訴我一些鏈接這個id如何做? – pushya

+0

現在我看到谷歌正在發送一條404錯誤消息,說「找不到文件:OBEWDSFSFSFSF」而不是沒有權限錯誤 – pushya

+1

它的所有內容都在文檔中。查看它併發布你試過的代碼。 –

相關問題