使用C#进行Google日历api v3授权和身份验证

时间:2014-03-27 13:41:24

标签: c# google-calendar-api

大家好我无法找到google calendar api v3授权和身份验证的工作代码(C#)?看起来所有帖子都太旧了,库变了,任何人都得到了工作代码?我向谷歌开发者注册了项目并获得了使用证书。感谢。

1 个答案:

答案 0 :(得分:0)

以下是获取用于执行所有请求的CalendarService对象的静态方法,您需要将从Google Developers Dashboard下载的JSON文件存储在项目中的某个位置,然后在代码中引用它下方。

首次运行时,您将被重定向到网络浏览器中的Google登录屏幕,系统会提示您在那里访问您的日历。确认后,下面将创建一个凭证文件,该文件将存储在您在用户计算机上指定的位置(例如您的应用程序的安装目录)。从那时起,将使用存储的凭证文件,您将不再需要重新登录。

public static CalendarService GetService()
    {
        var Scopes = new string[] { CalendarService.Scope.Calendar };

        UserCredential credential;
        string filePath = Path.Combine("*YOUR DOWNLOADED JSON FILE LOCATION HERE*");

        using (var stream = new FileStream(filePath, FileMode.Open, FileAccess.Read))
        {
            string credPath = "*WHERE YOU WILL STORE YOUR CREDENTIALS FILE*";

            credential = GoogleWebAuthorizationBroker.AuthorizeAsync(
                GoogleClientSecrets.Load(stream).Secrets,
                Scopes,
                "user",
                CancellationToken.None,
                new FileDataStore(credPath, true)).Result;
        }

        // Create Google Calendar API service.
        var service = new CalendarService(new BaseClientService.Initializer()
        {
            HttpClientInitializer = credential,
            ApplicationName = "*YOUR APPLICATION NAME HERE*",
        });

        return service;
    }