我知道Google Drive API允许与Chrome应用集成驱动器,但扩展程序又如何呢?可以/如何在Chrome扩展程序中使用Drive API?例如,我想要一个扩展名,其中包含一个列出用户文档的弹出窗口,如何访问其驱动器盒? 我知道它从认证开始,但我不知道该怎么做。
答案 0 :(得分:6)
关于身份验证, chrome.identity 是您的起点。
快速查看 GDrive App ,我并没有发现任何特定于应用的内容(即扩展程序无法使用的内容)。所以,我一定会从尝试" port" GDrive应用程序扩展。
此外,我还完全推荐了这个教程 Building Apps with AngularJS ,它实际上将引导您构建 GDrive App 。它非常酷,有关于如何设置与身份验证相关的东西的相当详细的解释(当然,您必须稍微调整它以适用于扩展)并且您可以忽略 {{3相关的东西(如果你不感兴趣 - 虽然 AngularJS 也非常酷)。
推荐路线图:
[查看下面的 GDrive App 以获取有趣的替代方案。]
答案 1 :(得分:2)
这非常容易。
chrome.identity.getAuthToken()将处理授权并返回访问令牌。然后,在调用Drive API时,您可以使用该访问令牌设置http标头。
这里有一些示例代码Chrome Manifest with Google API
答案 2 :(得分:2)
有些答案直接使用chrome身份或驱动器api。您不需要直接使用驱动器api来获取用户驱动器的文件ID。如果您使用chrome身份,则必须在安装/升级扩展时包含显式用户授权,并且当用户可能没有必要/给用户带来更大风险时,用户正在授予应用权限。当你不需要时,避免获取/存储令牌。 Google有一个名为docpicker的库,它可以满足您的需要,并且不需要您处理授权,也不会向用户请求授权。问题是您必须下载它并可能从扩展中调整它以供使用,因为文件需要在扩展中全部是本地的。 我做过但不是这个特定的图书馆。有些图书馆要求您使用content_security_policy,如下所示: " content_security_policy":" script-src' self' '不安全-EVAL&#39 ;; object-src' self'",
有关示例,请参阅https://developers.google.com/picker/docs/index。
2013年12月13日更新 - 谷歌已经表示,Picker将很快改为需要一个oauth令牌
答案 3 :(得分: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。
希望它会更有帮助。