Russian Qt Forum

Qt => Работа с сетью => Тема начата: System Fault от Октябрь 10, 2013, 07:04



Название: Возможно ли в Qt работать с OAuth2.0?
Отправлено: System Fault от Октябрь 10, 2013, 07:04
Возможно ли в Qt работать с OAuth2.0?


Название: Re: Возможно ли в Qt работать с OAuth2.0?
Отправлено: System Fault от Октябрь 10, 2013, 08:03
По другому спрошу, есть ли в Qt средства для отправки запроса с передачей post-данных и получения ответа в виде страницы html с header'ом как это сделано в libсurl?


Название: Re: Возможно ли в Qt работать с OAuth2.0?
Отправлено: Serr500 от Октябрь 10, 2013, 08:10
Есть. См. QNetworkAccessManager::post, QNetworkReply::header, QNetworkReply::rawHeader.


Название: Re: Возможно ли в Qt работать с OAuth2.0?
Отправлено: gil9red от Октябрь 10, 2013, 08:12
Qt - не язык, а фреймворк, т.е. набор библиотек.
Потому будет работать с любыми библиотеками.
Если в Qt нет того, что есть в другой с/с++ библиотеки, можно будет использовать другую библиотеку вместе с Qt'шными (если, конечно, религия позволяет :D) :)


Название: Re: Возможно ли в Qt работать с OAuth2.0?
Отправлено: System Fault от Октябрь 10, 2013, 08:13
Есть. См. QNetworkAccessManager::post, QNetworkReply::header, QNetworkReply::rawHeader.
Спасибо.


Название: Re: Возможно ли в Qt работать с OAuth2.0?
Отправлено: System Fault от Октябрь 10, 2013, 08:19
Qt - не язык, а фреймворк, т.е. набор библиотек.
Потому будет работать с любыми библиотеками.
Если в Qt нет того, что есть в другой с/с++ библиотеки, можно будет использовать другую библиотеку вместе с Qt'шными (если, конечно, религия позволяет :D) :)
Да, я подключал libcurl в проекте на Qt. Писал бот для вконтакте для линукс с помощью libcurl, cейчас хочу сделать GUI, мне посоветовали Qt, вот отсюда и возник вопрос.
Всем спасибо. :)


Название: Re: Возможно ли в Qt работать с OAuth2.0?
Отправлено: lex_newton от Октябрь 10, 2013, 11:03
Вот тебе готовое решение, я уже этим заморачивался как-то:
http://qttroll.blogspot.ru/2013/09/qtvkauth.html


Название: Re: Возможно ли в Qt работать с OAuth2.0?
Отправлено: System Fault от Октябрь 10, 2013, 13:54
Вот тебе готовое решение, я уже этим заморачивался как-то:
http://qttroll.blogspot.ru/2013/09/qtvkauth.html
Спасибо. :)


Название: Re: Возможно ли в Qt работать с OAuth2.0?
Отправлено: lex_newton от Октябрь 10, 2013, 14:42
Мне кажется, у вас неверная информация ;) или мы говорим про разную авторизацию. я говорю про авторизацию так называемых standalone application http://vk.com/dev/auth_mobile . Только что проверил на живом примере - и никаких проблем с авторизацией не возникло.
Что касается шагов авторизации, то в вашем примере(насколько я смог понять, т.к. в подробностях куда именно редиректит меня vk я не вдавался) идет парсинг html и отправка ответа на нужную страницу. В моем же примере в окошке webvew пользователю предлагается ввести логин-пароль и подтвердить разрешения, т.е. это аналогично работе с обычным браузером. Если вам нужно все делать в фоне, без отображения диалогов пользователю - то данный метод не для вас. Вам потребуется переписать свой код c curl на Qt с использованием QNetworkAccessManager - работа с куками там будет проще чем curl.


Название: Re: Возможно ли в Qt работать с OAuth2.0?
Отправлено: System Fault от Октябрь 10, 2013, 15:39
Мне кажется, у вас неверная информация ;) или мы говорим про разную авторизацию. я говорю про авторизацию так называемых standalone application
У меня тоже standalone, дело в том, что у меня программа авторизуется автоматически без ввода пароля и емайла.


Название: Re: Возможно ли в Qt работать с OAuth2.0?
Отправлено: DarkHobbit от Январь 02, 2018, 00:43
Вот тебе готовое решение, я уже этим заморачивался как-то:
http://qttroll.blogspot.ru/2013/09/qtvkauth.html
...и из того блога шла ссылка на гуглокод. Блог-то живой, а гуглокод помер. Но на просторах гитхаба можно найти новую инкарнацию того кода под лицензией GPLv3+:
https://github.com/AlekseyDurachenko/vkoauth
А ещё в Qt 5.8 появился отдельный модуль QtNetworkAuth. Никто не щупал?..


Название: Re: Возможно ли в Qt работать с OAuth2.0?
Отправлено: kibsoft от Январь 02, 2018, 03:53
Пользовался QtNetworkAuth для Google, в 5.8 есть кое-какие недоработки по API, которые исправлены в новых версиях. Так что лучше брать последнюю версию Qt.


Название: Re: Возможно ли в Qt работать с OAuth2.0?
Отправлено: DarkHobbit от Январь 02, 2018, 16:31
Спасибо за информацию. Тем более, именно Google мне и нужен (хочу научить DoubleContact вытаскивать гуглоконтакты через CardDAV, с самим CardDAV разобрался, но в случае гугла, как выяснилось, этого мало).
Вообще необходимость привязываться к последней версии Qt звучит довольно грустно. У меня до самого последнего времени сборка под Windows делалась статикой аж с Qt 4.8.6, и программа была очень компактной... Хотя собираемость под Qt5 я, конечно же, проверяю.