go - 如何让其他人使用 googleapi 阅读和编辑 google 表格(未与他们共享),而无需他们下载凭据?
问题描述
我是一个初学者尝试 api 的乐趣。
问题是,可以说,我想用 golang 编写一个简单的 windows 程序,让我的朋友阅读和编辑保存在我的谷歌驱动器上的一张表。在不让他们下载凭据文件的情况下如何做到这一点?
我想要它做的只是立即将他们重定向到 Oauth 页面,如果他们的电子邮件地址是应用程序识别的一个,它将授予他们访问该谷歌表的权限。
解决方案
我认为您需要将您的 go 应用程序与 Oauth 协议集成。更具体地说,与 Google 提供商合作。
这主要是3个步骤:
将 oauth 客户端添加到您的应用程序
像这样:https ://github.com/golang/oauth2
请参阅他们的文档以了解如何操作。
转到谷歌开发文档,看看如何将谷歌身份验证流程集成到客户端:https ://developers.google.com/identity/protocols/OAuth2
我不确定谷歌是否有更具体的谷歌驱动集成和/或 go-lang 客户端。请做一些搜索。
在您的 Go 应用程序上制作胶水代码,以便用户可以与之交互(登录按钮(或命令,如果它是基于终端的)、错误消息、注销等)
当您开始执行此操作时会出现更多问题,但它也是学习 Oauth 的一个很好的例子。
一般准则:
- https 所有的查询或oauth 基本没用
- oatuh 有许多 auth-flows,你必须选择你支持的那些。使用谷歌文档推荐的任何 m2m 场景(机器 2 机器)
- 记录错误,以便您的朋友可以向您发送日志文件以便您调试问题
- 也许设置一些功能标志,以便您可以简单地禁用此功能来运行/测试 localhost ?也许有用?你决定。
推荐阅读
- amazon-web-services - 允许 CloudFront 访问具有源访问身份的 S3 存储桶
- ios - iOS 文本在 TextView 内滚动到顶部
- html - 为什么 div 在使用 display :flex 时会缩小?
- ios - 是否可以更改搜索栏中取消按钮的垂直位置?
- javascript - 使用反应引导程序的下拉列表在小型移动屏幕上无法正常工作
- tensorflow - 类型错误:传递给参数“开始”的值的数据类型 float32 不在允许值列表中:int32、int64
- python - 将空集添加到python中的frozenset中的一组集合中
- windows - 即使使用相同的版本,Unison 也会创建不同的档案
- javascript - 如何使用 sinon 正确模拟 ES6 类
- mysql - Mac osx 上的 Apache 超集