0

Я пытаюсь разработать приложение C# Windows для выполнения некоторых пользовательских задач Google Blogger. Используя пакет GoogleApis.Blogger.v3 Nuget, я успешно запросил сообщения публичных тестовых блогов, но теперь я хочу, чтобы он мог запрашивать сообщения частных блогов и выполнять административные задачи в блоге.Аутентификация с помощью API Blogger для рабочего стола Windows

Я прошел через this page и кучу связанных страниц на OAuth. Все они кажутся очень расплывчатыми. Эта страница наиболее близка к тому, что я понял, как использовать OAuth с API. Я не понимаю, почему он использует жесткокодированную строку «пользователь». Откуда происходит «пользователь»?

Кроме того, я не вижу, как это даст мне доступ к блогу. Я предполагаю, что он будет аутентифицировать мое приложение, но мое приложение не имеет права администрировать любой блог, который он хочет. Должен ли пользователь моего приложения получить свой собственный секретный код OAuth ID & и предоставить его моему приложению? Не удобен для пользователя. Я предполагаю, что мое приложение просто позволяет пользователю вводить URL-адрес в свой блог, имя пользователя и пароль, а затем переходить и аутентифицироваться как этот пользователь через API и отправлять этот токен с каждым запросом. Есть ли способ получить доступ к блогу, используя только имя пользователя & пароль?

ответ

0

Я понял это, посмотрев на некоторые другие документально подтвержденные API. youtube API docs had a page, который объяснил это более подробно. В принципе, Google не хочет, чтобы пользователи вводили свои учетные данные в ваше приложение. Вместо этого вы отправляете их на страницу google, которая позволяет им разрешать ваше приложение. Вы передаете свою информацию OAuth на эту страницу, чтобы она могла определить ваше приложение и спросить пользователя, хотят ли они разрешить доступ. Здесь он становится немного причесанным для настольного приложения. Эта страница может возвращать URL-адрес локального хоста, но поскольку у большинства пользователей нет веб-сервера, у него также есть возможность поместить ответ в заголовок веб-страницы ответа. Найдите информацию о файле oauth redirect_uri.

Этот API поддерживает Google .NET (см. GoogleWebAuthorizationBroker.AuthorizeAsync and UserCredential). Он может прочитать файл client_secret.json, созданный для консоли разработчика, открыть клиентский браузер и отправить запрос oauth для доступа, прочитать ответ и закрыть браузер, когда это будет сделано. This link with a Console App example действительно помог мне в этом.

Единственная часть, которую я до сих пор не знаю, - это жестко запрограммированный параметр «пользователь», отправленный на GoogleWebAuthorizationBroker.AuthorizeAsync(), но, похоже, он работает.

 Смежные вопросы

  • Нет связанных вопросов^_^