Учетные данные пользователя OAuth календаря Google не отображают окно входа в sharepoint с помощью k2 - PullRequest
0 голосов
/ 09 мая 2019

Я создал DLL-файлы в asp.net (Visual Studio 2015) для отображения событий календаря Google для отображения в списке, для ошибок и пройденных шагов, которые мы сохранили в файле журнала, для получения событий календаря Google, я Я создал проект в консоли разработчика Google, и я сгенерировал идентификатор клиента и учетную запись службы с учетными данными OAuth 2.0 и делегированием по всему домену. Затем я назвал ту же самую DLL в проекте dot net, и он прекрасно работает для меня.

[консоль Google] [1]

Затем я создал экземпляр службы с режимом аутентификации как OAuth, затем я создал smartobject для этого и вызвал этот smartobject при нажатии кнопки и вызвал методы dll, вывод был просто обработкой изображения, которое было отображено. я проверил с файлом журнала, что нет сообщения об ошибке или пройденный шаг был сохранен как показ в изображениях ниже.

public static CalendarService AuthenticateOAuth(string clientSecret, string clientId, string credPath, string[] scopes)
    {
       try
        {
            GCalender.StepPassed("Inside AuthenticateOAuth");
            string userName = "mailid";//  A string used to identify a user.
            if (clientSecret!= null)
            {
                GCalender.StepPassed("Before UserCredential");
                // here is where we Request the user to give us access, or use the Refresh Token that was previously stored in %AppData%

                UserCredential credential = GoogleWebAuthorizationBroker.AuthorizeAsync(new ClientSecrets
                {
                    ClientId = clientId,
                    ClientSecret = clientSecret
                }, scopes, userName, CancellationToken.None, new FileDataStore(credPath, true)).Result;
                return new CalendarService(new BaseClientService.Initializer()
                {
                    HttpClientInitializer = credential,
                    ApplicationName = "GCalendar",
                });
            }
            else
            {
                throw new Exception("Check the credential");
            }
        }
        catch (Exception ex)
        {
            throw new Exception("CreateServiceAccountCalendarFailed", ex);
            GCalender.ErrorLogin(ex);
        }
    }
}
...