相关疑难解决方法(0)

使用JavaScript授权Google云端硬盘

我正在尝试授权我的应用程序与Google云端硬盘集成.谷歌文档提供了基于服务器的授权和代码示例细节的各种服务器技术.

还有一个JavaScript Google API库,它支持授权.在维基示例部分中,有一个用于创建配置和调用授权功能的代码片段.我已将范围改为我认为驱动所需的范围:

var config = {
    'client_id': 'my_client_ID',
    'scope': 'https://www.googleapis.com/auth/drive.file'
  };
  gapi.auth.authorize(config, function() {
    console.log(gapi.auth);
  });
Run Code Online (Sandbox Code Playgroud)

永远不会调用回调函数(是的,已加载Google API库)查看Java Retrieve和使用OAuth 2.0凭据示例,客户端机密似乎是一个参数,如果进入配置?

有没有人在JS,Drive或其他Google API中试过这个?有谁知道调试这样一个问题的最佳途径,即我是否需要单步执行库并停止发牢骚?

请不要建议在服务器端进行授权,我们的应用程序完全是客户端,我不希望服务器上有任何状态(我理解这将导致令牌刷新问题).我熟悉Google控制台中的API配置,我相信它和驱动器SDK设置是正确的.

javascript oauth-2.0 google-drive-api

41
推荐指数
2
解决办法
3万
查看次数

google drive javascript api gapi.client.drive.files undefined

列出Google云端硬盘文件的JavaScript示例使用gapi.client.drive.files.list().当尝试使用此方法时,我收到错误"无法读取未定义的属性'文件'".

Google Drive API javascript中已经介绍了此问题和解决方法

https://developers.google.com/drive/v2/reference/files/list#try-it下的文档是否有误?或者有没有办法使用API​​描述.

google-drive-api google-api-js-client

8
推荐指数
2
解决办法
8223
查看次数

如何设置Google Drive Client ID以便在没有本地服务器的情况下进行访问?

我想知道是否可以在随机计算机上打开一个jsfiddle并登录并验证并使用驱动器API,而无需一直运行本地服务器?一个人如何设置它?我很抱歉,如果这是一个简单的问题,但我只是因为我到目前为止发现的说明不清楚而丢失了.

编辑:

到目前为止,我有,从以下这里这里:

  1. 通过Google Developers Console创建了一个项目.
  2. 在那里打开那个项目,导航到API和auth下的API,并确保启用了Drive API
  3. 进入凭据,然后点击"创建新的客户端ID"
    • 选择"Web应用程序"
    • 将授权的javascript原点设置为http:// localhost:4567
    • 删除重定向URI中的任何内容并将其留空,然后按"创建客户端ID".
  4. 取一个像这样,这样或者这样的样本,并将它存储在一个名为index.html的本地文件中.
    • 这不会只是在一个浏览器中打开,所以我必须托管一个本地服务器
    • 我在命令行中导航到该目录,然后键入"python -m SimpleHTTPServer 4567"(不带引号)并托管本地服务器
    • 在我的web浏览器中打开http:// localhost:4567,并且在将新创建的客户端ID复制到他们要求的这些文件中之后,所有这些示例都正常工作.

我也做了一个python应用程序,使用pydrive I:

  1. 单击"创建新客户端ID",然后单击"已安装的应用程序"和"其他",然后单击"创建客户端ID".
  2. 接下来,我转到旧的Google API控制台,点击API Access,找到客户端ID,然后点击下载JSON.
  3. 我把这个client_secrets.json放在我的python应用程序旁边,这允许pydrive成功进行身份验证,我可以使用该客户端ID访问和修改我的google驱动器文件.虽然我在将应用程序提供给另一个人之前当然删除了这个client_secrets.json,并向他们展示了如何执行此过程.

但是,除此之外,我有点不确定,特别是:

  • 如何在Web应用程序中使用驱动器api而无需设置本地服务器,例如只需在jsfiddle中运行代码并通过使用客户端ID通过我的项目发送请求,以及
  • 如果设置的本地服务器可以被网络上的任何人访问,那么如何修改上述步骤以允许任何客户端打开该服务器的网页以使用google drive API?

我知道我很可能需要在开发人员控制台中设置公共API访问权限,但我不完全确定我应该使用哪些Referers.那么有一种简单的方法可以做到这一点吗?

我也知道gspread只能使用客户端的用户名和密码打开google excell电子表格,所以我怀疑我正在寻找的是可能的,但我不确定.

javascript google-drive-api

1
推荐指数
1
解决办法
369
查看次数