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

问题描述 投票:-2回答:1

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

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

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

c# asp.net-core asp.net-core-mvc google-calendar-api asp.net-core-2.2
1个回答
2
投票

您需要了解X-Frame-Options标头的工作原理。 Google日历以两种可能的方式响应日历请求:

  1. 如果相关日历标记为“公共”,则返回的响应没有“X-Frame-Options”标题,因此您可以在站点中呈现它。
  2. 如果相关日历未标记为“公共”,则响应包括“X-Frame-Options”标题,其值设置为DENY。根据HTTP规范,这意味着您不允许在IFrame中显示响应,并且假设您使用基于标准的浏览器,您无法做任何改变。

您提到的另一个应用程序可能包括Web浏览器控件,因此直接呈现日历,这意味着框架选项不会影响它,但是在浏览器中模拟它不是一个好方法(同样,HTTP的一部分)规范,并打算)。

如果您真的希望能够向他们展示他们的日历,那么您最好的选择是使用您提到的API端点中的数据,然后生成您自己的视图。

© www.soinside.com 2019 - 2024. All rights reserved.