从Chrome扩展程序访问Google文档

问题描述 投票:7回答:4

我知道Google Drive API允许将驱动器与Chrome Apps集成,但是扩展如何?可以/如何在Chrome扩展程序中使用Drive API?例如,我想要一个扩展名,该扩展名将具有列出用户文档的弹出窗口,我如何访问其驱动器盒?我知道它始于身份验证,但是我也不知道该怎么做。

oauth google-chrome-extension google-drive-api google-chrome-app
4个回答
6
投票

关于身份验证,chrome.identity是开始的地方。

(不太了解)快速查看GDrive App我实际上没有发现任何特定于应用程序的内容(即扩展程序不可用的内容)。因此,我当然会首先尝试将GDrive应用“移植”到扩展程序。

还有,我完全推荐本教程有关Building Apps with AngularJS,它实际上将引导您构建GDrive App。它非常酷,其中有关于如何设置与身份验证相关的内容的相当详细的解释(当然,您必须对其稍加调整才能应用于扩展名),而您可以忽略AngularJS-相关内容(如果您不感兴趣-尽管AngularJS也非常酷)。


推荐的路线图:

  1. 阅读有关chrome.identity的文档,以获得对API(*)的一些了解。
  2. 研究tutorial,以了解GDrive App的基本概念。
  3. 研究GDrive App的源代码,以填充tutorial中未涵盖的实现细节。
  4. GDrive App移植到Chrome扩展程序。 (如果您在此过程中偶然发现某个特定问题,请随时回到此处了解。)

[下面签出Zig Mandel's answer以获得有趣的选择。]


2
投票

非常简单。

chrome.identity.getAuthToken()将处理授权并返回访问令牌。然后,您可以在调用Drive API时使用该访问令牌来设置http标头。

这里有一些示例代码Chrome Manifest with Google API


2
投票

某些答案直接使用Chrome身份或驱动器api。您无需直接使用驱动器api即可从用户的驱动器获取文件ID。如果您使用chrome身份认证,则在安装/升级扩展程序时必须包括明确的用户授权,并且在用户可能不必要/风险更大的情况下,用户会向应用授予权限。避免在不需要时获取/存储令牌。 Google有一个名为docpicker的库,它可以满足您的需求,不需要您处理授权,也不会向用户请求授权。要注意的是,您必须下载它,并可能要使其从扩展程序中使用,因为扩展程序中的文件必须全部位于本地。我已经做到了,但是没有针对这个特定的库。一些库要求您摆弄content_security_policy,如下所示:“ content_security_policy”:“脚本-src'自我''不安全-评估';对象-src'自我',

参见https://developers.google.com/picker/docs/index示例。

2013年13月12日更新-Google表示将很快将Picker更改为需要oauth令牌


0
投票

https://stackoverflow.com/a/58380137/8627279

https://github.com/malik55khan/speardsheet-reader/

演示:https://www.loom.com/share/d7d432c513a44b05a615fa0bd170fb23

[在Google控制台中创建客户端身份验证密钥,然后选择Chrome扩展名。之后,推送项目ID并保存。那么您将获得client_id。下一步创建一个api密钥。

添加一个新项目。-选择谷歌云或电子表格-启用API。

希望它会更有用。

© www.soinside.com 2019 - 2024. All rights reserved.