Можно ли автоматически включать API-интерфейсы Календаря из приложения, уже размещенного в Google? - PullRequest
0 голосов
/ 06 мая 2019

У меня работает приложение Google, которое в основном представляет собой приложение для отправки расписания. Мое требование заключается в том, что я хочу добавить в это приложение функцию, которая заключается в том, что когда человек заполняет расписание, когда он нажимает кнопку, я хочу получить данные о событиях из его календаря Google. Я попытался сделать это для одного пользователя, предоставив учетные данные, которые мы получаем при включении API Календаря Google. Мой вопрос заключается в том, что, когда я интегрирую эту службу в свое работающее приложение, теперь будет указано «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();

в учетных данных у меня есть файл credentials.json, а в переменной events указан электронный адрес пользователя.

...