获取google drive javascript api

时间:2017-01-31 13:01:45

标签: reactjs google-api google-drive-realtime-api

我在我的reactjs项目中使用google drive javascript api(v2)。 我正在使用此功能从谷歌驱动器获取文件。

this.getProjectObjects = function(query, callback)
{
    var request = gapi.client.drive.files.list({
        corpus : 'DEFAULT',
        q : query,
        fields : 'items(id,description,title,properties)'
    });

    request.then(function(resp) {
        callback(resp.result.items)
    }, function(err) {
        console.log(err)
    });
};

验证用户后,我可以使用此功能获取文件。 但是,当我导航到其他反应组件时,它不再起作用。 没有回应或错误,api只是挂起。

傻傻的是,当我刷新页面时,它正在工作。如果我导航到其他组件,它再次无效。

我使用相同的查询,在导航过程中没有任何变化。

任何人都有任何想法可能是什么问题?

由于

1 个答案:

答案 0 :(得分:0)

您可能需要查看Chrome devTools以查看切换页面时是否遇到任何问题。另外在文档中 - Getting Started

  

有几种方法可以使用JavaScript客户端库来发出API请求,但它们都遵循相同的基本模式:

     
      
  • 应用程序加载JavaScript客户端库。
  •   
  • 应用程序使用API​​密钥,OAuth客户端ID和API Discovery Document(s)初始化库。
  •   
  • 应用程序发送请求并处理响应。
  •   
     

以下部分显示了使用JavaScript客户端库的3种常用方法。

     
      
  • 选项1:加载API发现文档,然后汇编请求。
  •   
  • 选项2:使用gapi.client.request
  •   
  • 选项3:使用CORS
  •   

有关有效加载和进行API调用的代码实现,请参阅sample

希望这有帮助。