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

时间:2016-03-15 04:55:01

标签: javascript oauth-2.0 google-drive-api

我正在尝试从我的google驱动器中获取文件列表。我使用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();
    })

})

我得到的是#34; 404(未找到)"错误。我的电话是否正确?

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

我在facebook和twitter上做过类似的获取请求,但它确实有效!但在谷歌,我遇到了问题。我怎样才能做到这一点?由于我是一名新手,我在谷歌的REST api上做了很多研究,看了很多gits并观看了YouTube视频来解决这个问题。我仍处于同一水平!请帮帮我。

提前致谢。

1 个答案:

答案 0 :(得分:0)

@abhisekG,我认为你的电话不正确。您是否尝试过检查Drive Rest API JavaScript Quickstart,这有助于您检查和探索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.');
            }
          });
      }