我正在尝试使用驱动器来保存Chrome扩展程序中的数据。
首先,我为manifest.json
设置了所需的选项"oauth2": {
"client_id": "999999.apps.googleusercontent.com",
"scopes": [
"https://www.googleapis.com/auth/drive.appdata"
]
},
然后尝试获取文件列表:
$.getScript("https://apis.google.com/js/client.js", function () {
gapi.load('client', function () {
console.log("gapi.client is loaded")
gapi.client.load('drive', 'v3', function () {
console.log("gapi.client.drive is loaded");
chrome.identity.getAuthToken({'interactive': true}, function (token) {
gapi.client.setToken({access_token: token});
console.log("token :", token);
gapi.client.drive.files.list().then(function (list) {
console.log(list)
})
});
});
});
});
控制台说:
gapi.client is loaded
gapi.client.drive is loaded
token : [TOKEN]
错误就是这样:
"code": 403,
"message": "The granted scopes do not give access to all of the requested spaces."
答案 0 :(得分:0)
错误表示您正在尝试访问未经授权的空间。您的范围只允许您使用" appDataFolder"空间。因此,您必须更改
gapi.client.drive.files.list()
的
gapi.client.drive.files.list({spaces:"appDataFolder"})
。