過去 2 週間、drive.readonly.metadata スコープを使用して、一部のファイルのリビジョン履歴にアクセスし、それらがウェブ上で公開されているかどうかを確認するために、JS 用のGoogle API クライアント ライブラリを頻繁に使用しています。
次のコードは今朝まで機能しました
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
、最も適切なスコープである必要があります。
PS はAPI Explorerでも試してみましたが、同じエラーが発生します。
サンプル ファイル ID :
1ppLjLg2_ItTGHn_tVSEyOm2bwOtfqiGEb4MZQyAnE7c