Используйте аутентификацию Google Sheet для приложения, а не для конечного пользователя

Я пытаюсь использовать Google Sheet в своем приложении. Эта таблица Google не связана с конечным пользователем, но будет находиться под моей учетной записью. Согласно некоторому руководству по Google Sheets API я создал проект на консоли разработчика, но во время аутентификации OAuth 2.0 Google отображать диалог входа в систему для конечного пользователя. Как было сказано ранее, этот лист не связан с конечным пользователем, поэтому как я могу исправить свои собственные учетные данные Google в коде, чтобы он просто работал с листом, не запрашивая у пользователя его учетные данные?

Вот мой фрагмент кода

            var clientSecret = new Google.Apis.Auth.OAuth2.ClientSecrets() { ClientId = "*******.apps.googleusercontent.com", ClientSecret = "*******" };
            var credential = Google.Apis.Auth.OAuth2.GoogleWebAuthorizationBroker.AuthorizeAsync(clientSecret,
                Scopes,
                "[email protected]",
                System.Threading.CancellationToken.None).Result;
            var service = new Google.Apis.Sheets.v4.SheetsService(new Google.Apis.Services.BaseClientService.Initializer()
            {
                HttpClientInitializer = credential,
                ApplicationName = ApplicationName,
            });

person user1455675    schedule 17.09.2016    source источник


Ответы (2)


Вы хотите опубликовать статью публично?

https://support.google.com/docs/answer/37579?hl=en

Вы можете использовать этот метод, а затем встроить лист в iframe на своем сайте.

person Vinnie James    schedule 17.09.2016
comment
Дорогой Винни, я не хочу показывать лист пользователю. Процесс моего приложения выглядит следующим образом: пользователь вводит некоторый URL-адрес в моем веб-приложении, приложение сканирует страницу и извлекает некоторую необходимую информацию и сохраняет ее в Google Sheet. Этот лист не будет отображаться на странице пользователю. Администратор может только просматривать таблицу онлайн со всеми сохраненными данными. Таким образом, вы можете сказать, что Google Sheet будет действовать как база данных. Я не думаю, что публикация листа служит требуемой цели, или я могу программно обновить лист в коде? - person user1455675; 18.09.2016
comment
Вы можете попробовать sheetu.com ортодоксальный пакет узлов npmjs.com/package/google-spreadsheet - person Vinnie James; 18.09.2016

Похоже, таких способов пока нет. В конце концов я решил использовать локальную базу данных, а затем экспортировать контент в Excel с помощью библиотеки ClosedXML.

person user1455675    schedule 29.09.2016