Аутентификация службы Google Prediction API в.NET
Я пытаюсь создать приложение службы.NET, которое получит доступ к Google Prediction API.
Это приложение является службой (без взаимодействия с пользователем), поэтому я хотел бы знать, как можно было бы автоматически проходить аутентификацию в Google API (не открывая браузер, в котором можно войти, а затем нажимая "Авторизовать").
Что я пробовал:
пробовал некоторые из примеров.NET Google API - все они, кажется, требуют этой схемы аутентификации, которая открывает браузер и требует от пользователя щелчка (это называется аутентификацией Native Application Client, я считаю).
попробуйте использовать аутентификацию OAuth2 учетных записей служб - это работа в процессе. Однако для этого нет библиотеки.NET; В настоящее время я работаю с примерами Python и у меня есть некоторые проблемы (потому что я не разработчик Python).
На данный момент я надеюсь, что смогу запустить пример с python и либо переписать его в.NET, либо использовать его с Iron Python.
Я заинтересован, если бы у кого-то была такая проблема прежде и каково было решение. Я также открыт для решений проверки подлинности не OAuth2 (и, вероятно, не рекомендуется), если проверка подлинности службы OAuth2 невозможна (на данный момент) в.NET.
1 ответ
Я написал пример приложения (на Python & Java, извините, недоступен в C#), который выполняет аутентификацию один раз, сохраняет учетные данные OAuth и связанные данные на сервере (Google App Engine) и с этого момента повторно использует эти общие учетные данные, обновляя при необходимости обращайтесь к токену, не требуя, чтобы конечные пользователи видели диалог разрешения / запрета OAuth или любой другой аспект OAuth.
Для этого по-прежнему требуется, чтобы администратор приложения выполнил диалог OAuth, но это одноразовое событие. Если по какой-либо причине вы хотите сбросить сохраненные учетные данные сервера, шаг инициализации может быть повторно выполнен по требованию через специальный URL-адрес, однако эта функция сброса защищена, так что только администратор приложения может сделать этот запрос, а не конечный пользователь,