Добрый день, ЛОР.
В общем, научился я загружать в десктопную программу, написанную на Qt, контакты по CardDAV из ownCloud. Решил взять источник посложнее - контакты Гугла. И читаю в их документации следующее:
Client applications must use HTTPS, and OAuth 2.0 authentication must be provided for the user's Google account. The CardDAV server will not authenticate a request unless it arrives over HTTPS with OAuth 2.0 authentication of a Google account, and your application is registered on DevConsole. Any attempt to connect over HTTP with Basic authentication or with an email/password that doesn't match a Google account results in an HTTP 401 Unauthorized response code.
С OAuth я раньше дела не имел. Погуглил, какие есть у людей решения и наброски. В общем, как я понял, единственный способ авторизоваться - это тащить в свою программу отдельное Web-окно, загрузить оттуда форму входа гугла и уже оттуда получить канал для обмена данных с сервером.
Я всё правильно понял? Более простых путей нет? Если да, то это довольно грустно, учитывая, что до сего момента я в своей программе успешно обходился и без QtWebkit, и QtWebEngine. Пишут ещё, что в Qt 5.8 появился некий QtNetworkAuth. Но я так понял, что это обёртка над теми же самыми средствами...