google-api - 前端和后端之间的 GAPI 集成
问题描述
我有一个带有一些与用户相关的日历的单页应用程序。任务是编写与谷歌日历的集成。用户应该能够点击“与谷歌日历集成”,选择他的谷歌帐户,授予对日历的读+写访问权限,然后应用程序应该能够在用户谷歌日历中做一些事情,比如创建一个新日历并将其中的所有事件与应用程序数据同步。
我从这个例子开始,https://developers.google.com/calendar/quickstart/js
它有效,但据我了解,它仅适用于在线前端工作。是否可以从该前端检索身份验证并将其发送到后端?我希望后端在用户离线时运行服务器到服务器模式。
我已经检查了其他后端 gapi 集成,但它们看起来并不那么酷,有一些重定向。我想用 ajax 和弹出窗口将所有内容保存在一个页面中。
解决方案
为了在用户离线时访问用户数据,您需要一种叫做离线访问的东西。当您验证用户时,您需要请求离线访问,然后服务器将返回给您一个刷新令牌。
刷新令牌是长期存在的,您可以随时使用刷新令牌来请求新的访问令牌,这将允许您访问用户数据。
您不能通过 JavaScript 使用离线访问,您需要使用服务器端语言,例如 node.js、php、phython .... 您将无法使用 gapi
推荐阅读
- arrays - 如何在 swift 5.0 的数组中找到最小的非零 INT?
- .net-core - 任务计划程序创建任务 DotNet 不起作用
- python - 是否可以在海龟对象中使用索引?
- javascript - 利用本地存储存储购物车详细信息的更好方法
- javascript - 正确使用未定义
- python - 如何抓取 youtube 视频以获取比一页更多的视频?
- sql - 检查是否在多值参数中选择了逗号分隔列表中的任何值(在 SQL 数据集中)
- r - 将字符串的前两个字符移到字符串中的特定字符之后
- java - 如何在 CQL 中使用 JAVA 创建表并插入 json 数据?
- ember.js - 我可以将路由映射/重定向到 Ember FastBoot 应用服务器中的端口吗?