在我的 ASP.NET Core MVC 2.2 项目中显示谷歌日历

我只是希望我的用户能够在我的应用程序中访问他们的(不是我的!)谷歌日历。我不需要他们谷歌日历中的任何数据。所以首先我尝试了一个简单的 iframe,但谷歌阻止了这个。

我试过这个:https ://developers.google.com/calendar/quickstart/js 。它工作正常,但我只能从谷歌日历访问数据,但我没有日历视图..

那么显示用户谷歌日历的最简单方法是什么?


慕婉清6462132
浏览 69回答 1
1回答

心有法竹

您需要研究 X-Frame-Options 标头的工作原理。Google 日历以两种可能的方式响应日历请求:如果有问题的日历标记为公开,则返回的响应没有“X-Frame-Options”标头,因此您可以在您的站点中呈现它。如果相关日历未标记为公共,则响应包括“X-Frame-Options”标头,其值设置为 DENY。根据 HTTP 规范,这意味着您不能在 IFrame 中显示响应,并且假设您使用的是基于标准的浏览器,您无能为力。您提到的另一个应用程序可能包括一个 Web 浏览器控件,因此直接呈现日历,这意味着框架选项不会影响它,但是没有一种在浏览器内部模拟它的好方法(同样,HTTP 的一部分规范和预期)。如果您真的希望能够向他们展示他们的日历,那么您最好的选择是使用您提到的 API 端点中的数据,然后生成您自己的视图。
打开App,查看更多内容
随时随地看视频慕课网APP