在过去的两周里,我一直在大量使用用于JS的Google客户端库来访问一些文件的修订历史,并查看它们是否在网上发布,并使用drive.readonly.metadata范围。
下面的代码一直工作到今天早上
function checkRevision(childItem, language) {
var requestRevision = gapi.client.drive.revisions.list({
'fileId': childItem.id,
'fields': 'items/publishedOutsideDomain'
});
var fileId = childItem.id;
requestRevision.execute(function(revisions) {
//Check if the latest revision is published
if (revisions && !revisions.error) {
if (revisions.items[revisions.items.length - 1].publishedOutsideDomain) {
addBlogPostToMenu(fileId, language);//the file is ok do the real job
}
}
});
}我从requestRevision.execute得到的回应不是
403 Forbidden
{
"error": {
"errors": [
{
"domain": "global",
"reason": "forbidden",
"message": "Forbidden"
}
],
"code": 403,
"message": "Forbidden"
}
}was应用程序被正确地授权给
gapi.auth.authorize({
'client_id': CLIENT_ID,
'scope': 'https://www.googleapis.com/auth/drive.readonly.metadata',
'immediate': true
},
handleAuthResult); 将范围更改为drive.readonly修复了它,但我认为修订是元数据,而不是实际文件,因此drive.readonly.metadata应该是最合适的范围。
P.S.甚至尝试了API资源管理器,我也得到了同样的错误。
示例文件Id:
1ppLjLg2_ItTGHn_tVSEyOm2bwOtfqiGEb4MZQyAnE7c
发布于 2013-09-05 22:52:25
这是预期的行为,类似地,如果您只获得了files.list的授权,那么exportLinks或downloadUrl也不会回响应。
https://stackoverflow.com/questions/18622570
复制相似问题