为了账号安全,请及时绑定邮箱和手机立即绑定

带有 ASP.NET 的 Google 日历 API

带有 ASP.NET 的 Google 日历 API

C#
慕村9548890 2022-07-10 16:01:06
我对使用 Google 日历 API 在 ASP.NET 网络表单(C#)中添加/修改事件感到困惑。我不确定我是否需要 oAuth 或什么。我的应用程序在我自己的服务器上访问我自己的域和我自己的日历。我不需要其他用户允许我访问他们的日历;我只需要通过我的应用程序访问我自己的。在我的一个 aspx 页面上,我想将事件信息发送到我的 Google 日历以添加(或稍后修改)该事件。我检查了各种代码示例和 Google 入门指南。我只是不清楚到底需要什么。我已经设置了一个 API 密钥和一个 oAuth2 客户端 ID。谷歌的指示让我转了一圈,这可能是因为我需要澄清需要什么。有人可以消除我的困惑并指出我正确的方向吗?
查看完整描述

1 回答

?
天涯尽头无女友

TA贡献1831条经验 获得超9个赞

概括 :

  • 调用谷歌云 oauth2 保护资源

  • 从您的服务器到谷歌服务器

  • 无需用户交互

  • 访问您自己的数据

  • 使用 C#

代码 :

    var private_key = @"-----BEGIN PRIVATE KEY-ccc-END PRIVATE KEY-----\n";

    string calendarId = @"xxxxxxxxxxxxx@group.calendar.google.com";

    var client_email = @"my-google-calender@xxx.iam.gserviceaccount.com";


    var credential =

        new ServiceAccountCredential(

        new ServiceAccountCredential.Initializer(client_email)

        {

            Scopes = new string[] { CalendarService.Scope.Calendar }

        }.FromPrivateKey(private_key));

    var service = new CalendarService(new BaseClientService.Initializer()

    {

        HttpClientInitializer = credential,

    });

  • 使用服务方法获取数据

  • 可以从此链接生成私钥和 client_email

  • 日历 ID 可在 calendar.google.com 上找到

  • 您必须与 client_email 共享您的日历查看演示

  Google            You                             You

  Pay +             Pay +                           Pay +

  Google            Google                          You

  Manage            Manage                          Manage%

 +----------+    +----------+                     +----------+

 | Gmail    |    |          |                     |          |

 | Calendar |    |  G Suite |                     | Google   |

 | drive    |    |          |                     | Cloud    |

 |          |    |          |                     |          |

 +----^-----+    +----+-----+                     +------+---+

      |               ^                                  ^

      |               |                                  |

      |               |                                  |

      |               |                                  |

+-------------------------------------------------------------+

|     |               |                                  |    |

|     |               |                                  |    |

|     |               |       Google                     |    |

|     |               |       Oauth2                     |    |

|     |               |       Server                     |    |

|     |               |                                  |    |

|     |               |                                  |    |

+-------------------------------------------------------------+

      |               |                                  |

      |               |         +----------------+       |

      |               |         |                |       |

      |               |         |                |       | No

      |               |require  |                |       | Consent

      |               |admin    |                |       |

      |               |consent  |                |       |

      |require        |         |                +-------+

      |user           |         |                |

      |consent        +---------+   Your app     |

      |                         |                |

      |                         |                |

      |                         |                |

      |                         |                |

      +-------------------------+                |

                                |                |

                                |                |

                                |                |

                                +----------------+

                                     You

                                     Pay +

                                     You

                                     Manage

https://stackoverflow.com/questions/54066564/google-calendar-api-with-asp-net

查看完整回答
反对 回复 2022-07-10
  • 1 回答
  • 0 关注
  • 78 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信