Google嵌入式Iframe日历不一致地显示事件

Google嵌入式Iframe日历不一致地显示事件,iframe,google-calendar-api,Iframe,Google Calendar Api,我已经为我工作的公司建立了一个内部网。内联网要求用户使用其Google帐户登录才能访问。因此,我还使用默认的iframe-embed为Google日历设置了一个嵌入代码,并使用了一点php来交换日历,以查看用户的电子邮件,向他们显示适当的日历(例如:以用户身份登录)joe@gmail.com将在日历中填充joe@gmail.com以身份登录时的地址jill@gmail.com将在日历中填充jill@gmail.com(地址) 这对大多数人来说都很有效,但是我们在某些浏览器中遇到了一些问题,并且错

我已经为我工作的公司建立了一个内部网。内联网要求用户使用其Google帐户登录才能访问。因此,我还使用默认的iframe-embed为Google日历设置了一个嵌入代码,并使用了一点php来交换日历,以查看用户的电子邮件,向他们显示适当的日历(例如:以用户身份登录)joe@gmail.com将在日历中填充joe@gmail.com以身份登录时的地址jill@gmail.com将在日历中填充jill@gmail.com(地址)

这对大多数人来说都很有效,但是我们在某些浏览器中遇到了一些问题,并且错误非常不一致,这使得故障排除变得困难。此外,当我检查源代码时,iframe中显示了正确的电子邮件,因此php交换可能不是问题所在

示例1:我在Windows 10上使用Firefox登录。日历按预期工作

示例2:我在Windows 10上使用Chrome登录。日历会显示,但不会显示事件。不会给出任何错误

示例3:同事#1在Windows 10上使用Chrome登录。日历按预期工作

示例4:同事#2在Windows 10上使用Chrome登录。他收到一个“您没有权限查看一个或多个日历”错误,尽管源代码清楚地仅指向他的个人日历,他无疑可以访问该日历(他也在谷歌上登录了自己的谷歌账户,所以在那里也没有冲突)

示例5:我在Windows 10上以匿名模式使用Chrome登录。日历按预期工作

示例6:我在Windows 10上使用Edge登录。日历在初次登录时起作用,但当我导航到另一个页面时,日历仍会显示,但所有事件都会消失,不会显示任何错误。这会一直持续到我再次登录

示例7:Co-worker#3在Mac OSX上使用Chrome登录。日历在初次登录时起作用,但当她导航到另一页时,日历仍会显示,但所有事件都会消失,不会显示错误。这会一直持续到她再次登录为止。(这在她使用的任何浏览器中都是一致的)

示例8:同事4在Mac OSX上使用Chrome登录。日历按预期工作

最终,我只是不知道从哪里开始搜索这些错误,并缩小原因。清除缓存似乎只是有时起作用,有时甚至会导致出现不同的错误。有人知道是什么导致了这些不一致的错误,以及从哪里开始修复这个iss吗ue?

在不同浏览器中使用嵌入式Iframe日历时,这仍然是一个问题

以下是针对此问题的一些建议解决方案:

  • 清除缓存和cookie
  • 在集成日历之前,请单击上的Google日历设置中的自定义按钮,然后尝试浏览
  • 由此,rullzer提出了一个更干净的方法来处理IFRAME上的Cookie,以便为所有Cookie迁移到lax samesite Cookie

    这只会使cookies更加安全。此外,它还确保 你将一些公共页面嵌入到每个人都能看到的地方 事情。(因为IFRAME不会发送任何cookies,因此会导致 “publicpage”呈现)


谢谢Jess!不幸的是,这是一个多年来一直没有完全解决的问题。我曾尝试查看您试图链接到的github帖子,但我认为您复制了错误的链接,因为它只会将我带到“如何嵌入您的网站”链接。很抱歉,我已更改了链接:)