flutter - Flutter 谷歌日历每次都要求 Oauth 同意
问题描述
我正在使用谷歌日历 API 来获取用户的事件。
var _clientID = new ClientId(
"Client ID",
"");
const _scopes = const [cal.CalendarApi.CalendarScope];
await clientViaUserConsent(_clientID, _scopes, prompt)
.then((AuthClient client) async {
CalendarService.calendar = cal.CalendarApi(client);
});
List<Event> futureevent = await calendarService.getevents();
futureevent.forEach((element) {
print(element.summary);
});
return futureevent;
问题是这每次都将我重定向到 Oauth 同意屏幕。当用户第一次打开它时,是否有任何方法可以存储 authclient ID 或任何其他方式来使此获得 oauth 同意屏幕仅一次。
解决方案
您需要启用offline access
这意味着一旦用户授予访问权限一次 - 您的应用程序可以在后台存储用户刷新令牌并在必要时生成新的访问令牌,而无需用户每次都给予新的同意。
有关更多详细信息,我建议您阅读
推荐阅读
- perl - Perl CGI 元标记视口
- javascript - 在 Pusher 中不会收到任何警报消息
- javascript - Node.js 问题添加包
- ruby-on-rails - 将 json hash 转换为 rails 上的键
- javascript - angular.copy 不复制具有子对象或数组的对象
- php - 在我的情况下,有效地检查从给定日期时间是否正好过去了 2 天
- python - 在 tkinter 中选择对 JPG 文件执行特定操作的文件夹
- javascript - 在 Chrome 中工作,但在 Safari 中中断:无效的正则表达式:无效的组说明符名称 /(?<=\/)([^#]+)(?=#*)/
- javascript - 如何在 json 响应中不存在的 jquery 数据表中再添加一列
- laravel - 在用户模型中传递 ID