drive.readonly.metadata对于revisions.list来说还不够

时间:2013-09-04 19:48:52

标签: google-drive-api

我一直在大量使用Google APIs Client Library for JS来访问某些文件的修订历史记录,看看它们是否已在网上发布,过去两周并使用了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"
     }
    }

使用

正确授权了webapp
    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。甚至尝试了APIs Explorer,我得到了同样的错误。

示例文件ID:

  

1ppLjLg2_ItTGHn_tVSEyOm2bwOtfqiGEb4MZQyAnE7c

1 个答案:

答案 0 :(得分:2)

这是预期的行为,类似地,如果您仅获得exportLinks的授权,则files.list不会回复downloadUrldrive.readonly.metadata