可以从Google上已经托管的应用中自动启用Calendar API吗?

时间:2019-05-06 09:39:33

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

我有一个正在运行的Google应用程序,它基本上是一个时间表提交应用程序。我的要求是,我想向此应用程序添加一个功能,当一个人填写时间表时,当他单击按钮时,我想从他的Google日历中获取事件数据。 我尝试通过提供启用Google Calendar API时获得的凭据来为单个用户执行此操作。 我的问题是,当我将此服务集成到正在运行的应用程序中时,它将对所有用户说“ x”个用户,因为我需要首先手动启用API并将每个凭据保存在cofig中,或者可以在运行时完成? 这是我为单身用户尝试的代码---

string[] Scopes = { CalendarService.Scope.CalendarEventsReadonly };

                UserCredential credential;

                using (var stream = new FileStream(AppDomain.CurrentDomain.BaseDirectory + "credentials.json", FileMode.Open, FileAccess.Read))
                {
                    // The file token.json stores the user's access and refresh tokens, and is created
                    // automatically when the authorization flow completes for the first time.
                    string credPath = AppDomain.CurrentDomain.BaseDirectory + "token.json";
                    credential = GoogleWebAuthorizationBroker.AuthorizeAsync(GoogleClientSecrets.Load(stream).Secrets, Scopes, "user", CancellationToken.None, new FileDataStore(credPath, true)).Result;
                    Console.WriteLine("Credential file saved to: " + credPath);
                }


                var service = new CalendarService(new BaseClientService.Initializer()
                {
                    HttpClientInitializer = credential,
                    ApplicationName = "IApps Calendar",

                });

                var events = service.Events.List("lewis@company.in").Execute();

在凭据中,我已经获取了certificate.json文件,在事件变量中,我指定了用户的电子邮件地址。

0 个答案:

没有答案