0

過去 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

4

1 に答える 1