[英]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.