如何使用谷歌日历api凭据

时间:2017-02-07 05:12:23

标签: c# asp.net-mvc asp.net-mvc-4 google-calendar-api

我在ASP.NET MVC中使用谷歌日历,我已将client_secret.json文件放在根文件夹中,就像web.config文件一样。

当我从互联网或移动浏览器浏览应用程序以连接谷歌日历时,它会抛出错误,如

unable to found the client_secret.json.

每当我在Azure VM中使用它时,它运行正常,在我运行该应用程序的互联网或移动浏览器之后它运行正常。下面是我用来连接谷歌日历的代码,请你查看下面的代码并提出我在这里做错了。

UserCredential credential;
using (var stream = new FileStream(@"D:\Connectgoogle\client_secret.json"
                                   , FileMode.Open
                                   , FileAccess.Read))
{
    credential = GoogleWebAuthorizationBroker.AuthorizeAsync(
        GoogleClientSecrets.Load(stream).Secrets,
        new[] { CalendarService.Scope.Calendar },
        "LookIAmAUniqueUser",
        CancellationToken.None,
        new FileDataStore(@"c:\datastore", true)
    ).Result;
}

1 个答案:

答案 0 :(得分:1)

我认为这里的问题是client_secret.json的目录,这部分在你的代码中:

using (var stream = new FileStream(@"D:\Connectgoogle\client_secret.json"
                                   , FileMode.Open
                                   , FileAccess.Read))

如果您按照.NET Quickstart进行操作,只需将client_secret.json移到工作目录中即可:

  

一个。将client_secret.json(在步骤1中下载)拖到Visual中   Studio Solution Explorer。

并且您的程序将是找到它的程序:

using (var stream = new FileStream("client_secret.json", FileMode.Open, FileAccess.Read))

检查快速入门链接以了解完整的代码实现。