使用C#的网页和API OAuth2的一个Google登录名

时间:2018-10-24 17:57:35

标签: c# wpf google-calendar-api google-oauth2

我正在实现C#WPF应用程序,在其中托管打开了Google日历的CefSharp Web浏览器。另外,我想使用Google Calendar API将事件添加到日历中。我需要两个共同的入口点:

  • 登录到Google日历网页
  • 获取用于API使用的用户令牌

有可能这样做吗?恐怕将需要双重身份验证,这将使我的应用程序变得不那么用户友好。 这是我现在的做法:

  1. 创建Google API访问权限
size
  1. 使用CefSharp打开Goog​​le日历网页
using (var stream = new FileStream("credentials.json", FileMode.Open, FileAccess.Read))
{
    string credPath = "token.json";
    Credential = GoogleWebAuthorizationBroker.AuthorizeAsync(
                    GoogleClientSecrets.Load(stream).Secrets,
                    Scopes,
                    "user",
                    CancellationToken.None,
                    new FileDataStore(credPath, true)).Result;
}

// Create Google Calendar API service.
Service = new CalendarService(new BaseClientService.Initializer()
{
    HttpClientInitializer = Credential,
    ApplicationName = ApplicationName
});

0 个答案:

没有答案