使用 Oauth2 将 REST 用于 Google 云端硬盘

Using REST for Google Drive using Oauth2

本文关键字:Google 云端 硬盘 用于 REST Oauth2 使用      更新时间:2023-09-26

我正在尝试从我的谷歌驱动器中获取文件列表。我已经使用 Oauth2 对自己进行了身份验证,现在我正在尝试使用 oauth2 的 GET 方法获取我的文件列表:"https://www.googleapis.com/drive/v2/files"。

我的js代码如下:

var gdrive = {}
gdrive.currentgdrivepageID = null;
gdrive.log = function(_data){
    console.log("Logging gdrive response data : ");
    console.log(_data);
}
gdrive.init = function(){
    //init oauth
    OAuth.initialize('xD#################F8')
        OAuth.popup('google_drive').done(function(result) {
        console.log(result);
        gdrive.app=result;
    })
    .fail(function (err) {
        //handle error with err
        console.log(err);
      });
}

gdrive.getFiles = function(){
    var html='';
    var fileTypeList=[];
    gdrive.app.get("v2/files?key="+gdrive.app.access_token).then(function(resp){
        console.log(resp);
        window.alert('Success');

    });
}

$(document).ready(function(){
    $(document).on("click","#gdrive-init", function(e){
        e.preventDefault();
        gdrive.init();
    })
    .on("click", "#files", function(){
        gdrive.getFiles();
    })
})

我收到"404(未找到)"错误。我的电话正确吗?

gdrive.app.get("v2/files?key="+gdrive.app.access_token).then(function(resp){}

我在脸书和推特上做过类似的获取请求,它奏效了!但在谷歌,我遇到了问题。我怎样才能做到这一点?由于我是新手,我在谷歌的 REST API 中做了很多研究,查看了许多 gits 并观看了 youtube 视频来解决这个问题;我还是在同一水平上!请帮助我。

提前谢谢。

@abhisekG,我认为您的调用不正确。您是否尝试过检查云端硬盘休息 API JavaScript 快速入门,这将帮助您检查和探索 API 及其功能。

这是文档中的示例JavaScript应用程序,可以帮助您了解Google Drive的Rest API的工作原理。

      /**
       * Load Drive API client library.
       */
      function loadDriveApi() {
        gapi.client.load('drive', 'v2', listFiles);
      }

      /**
       * Print files.
       */
      function listFiles() {
        var request = gapi.client.drive.files.list({
            'maxResults': 10
          });
          request.execute(function(resp) {
            appendPre('Files:');
            var files = resp.items;
            if (files && files.length > 0) {
              for (var i = 0; i < files.length; i++) {
                var file = files[i];
                appendPre(file.title + ' (' + file.id + ')');
              }
            } else {
              appendPre('No files found.');
            }
          });
      }