更新日历中的谷歌事件C#

问题描述 投票:0回答:1

我有一个要求,我必须在电子邮件中添加一个按钮。单击后,它会打开谷歌,要求提供凭据,然后将该事件添加到用户的日历中。这是我的代码

  <tr style="display:none;">
                <td width="300" style="width:225.0pt; background:#313131; padding:0in 0in 0in 0in; height:30.0pt; border-radius:3px">
                    <p class="x_MsoNormal" align="center" style="text-align:center">
                        <span style="font-family:Arial,sans-serif; color:white">
                            <a href="@Model.GoogleLink" target="_blank" rel="noopener noreferrer" data-auth="NotApplicable" data-linkindex="10">
                                <span style="color:white; text-decoration:none">Add to Google Calendar</span>
                            </a>
                        </span>
                    </p>
                </td>
            </tr>

这是我的谷歌链接: https://www.google.com/calendar/event?action=TEMPLATE&text=Piercing+Studio+约会+(Ossington+Piercing+Studio)&dates=20230716T202000Z/20230716T204000Z&location=64+Ossington+Avenue、+多伦多、+安大略省、+M6J2Y7&details= 64+Ossington+Avenue,+多伦多,+安大略省,+M6J2Y7%0A%0A查看/更改+预约:%0Ahttps://app.acuityscheduling.com/schedule.php?owner%3D28316543%26id%255B%255D%3D87dc83cf48dc52001b1dd5f79ce9b0ef%2 6action%3Dappt%0A%0A(创建者+Acuity+调度)%0AAcuityID%3D1071322728%0AGoogle&sf=true&output=xml&pli=1

如果事件已经在日历中,有什么方法可以更新该事件吗?

PS:我没有使用 google-calendar-api,但也将不胜感激

c# html google-calendar-api
1个回答
1
投票

要实现从 Web 应用程序更新 Google 日历事件的功能,建议的方法是使用 Google 日历 API 和 OAuth 2.0 身份验证。此方法为第三方应用程序提供必要的访问和权限,以创建、读取、更新或删除用户日历上的事件。在这里更新您的问题的关键字。

以下是集成 Google Calendar API 以进行事件更新所涉及的步骤:

设置 Google API 凭证:首先在 Google Developers Console 中创建一个新项目。为此项目启用 Google Calendar API 并为您的 Web 应用程序生成 OAuth 2.0 客户端 ID 凭据。这些凭据将授予操作用户日历上的事件所需的访问权限。

客户端代码:修改现有的 HTML 代码以包含用于处理 Google API 调用的适当 JavaScript 和库。实施 OAuth 2.0 身份验证以在用户身份验证成功后获取访问令牌。此令牌将允许您的应用程序与用户的 Google 日历进行交互。

事件更新:当用户单击“添加到 Google 日历”按钮时,通过您的 JavaScript 代码启动 OAuth 2.0 身份验证过程(这是 google 要求他们登录的地方)。获取访问令牌后,使用它向 Google Calendar API 发出 PATCH 请求,更新请求正文中的特定事件的详细信息。

处理用户身份验证:由于您提到无法访问用户的电子邮件,OAuth 2.0 流程将为您处理身份验证过程。 系统将提示用户登录其 Google 帐户,如有必要,请提供其凭据以授予所需权限。

请注意,在此过程中,用户可能会遇到 Google 同意屏幕,其中解释了您的应用程序请求的权限,包括对其 Google 日历的访问权限。这是 OAuth 流程的标准部分,可确保用户的透明度,我不会担心它。

与尝试通过电子邮件中的直接链接操作事件相比,使用 Google Calendar API 和 OAuth 2.0 身份验证提供了一种更安全、更可靠的方法来与用户日历进行交互。如需更深入了解实现细节,可以参考官方Google Calendar API文档

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