Как аутентифицировать IMAPS для Gmail с помощью токена доступа OAuth2?C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Как аутентифицировать IMAPS для Gmail с помощью токена доступа OAuth2?

Сообщение Anonymous »

Я использую libcurl. Я получил токен доступа Google OAuth, используя область https://mail.google.com/, которая необходима для IMAPS. Отсюда я хочу аутентифицировать своего клиента с помощью IMAPS.

Код: Выделить всё

struct CurlResponse
{
CURLcode response_code = CURLE_OK;
std::string body;
std::string headers;
};

const std::string url_imaps = "imaps://imap.gmail.com:993";
curl_easy_setopt(curl, CURLOPT_URL, url_imaps.c_str());

std::string oauth_token = "user=" + email + "\1auth=Bearer " + password + "\1\1";
std::string base64_token = encode_base64(oauth_token);
curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, base64_token);

//Due to lack of certificate, we disable verification
curl_easy_setopt(curl, CURLOPT_USE_SSL, (long)CURLUSESSL_ALL);
curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, CURL_FALSE);
curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, CURL_FALSE);

CurlResponse response;
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_callback);
curl_easy_setopt(curl, CURLOPT_WRITEDATA, (void*)&response.body);
curl_easy_setopt(curl, CURLOPT_HEADERDATA, (void*)&response.headers);

response.response_code = curl_easy_perform(curl);
Это приводит меня к ошибке CURL_LOGIN_DENIED. Как правильно подойти к этому для успешной аутентификации IMAPS?

Подробнее здесь: https://stackoverflow.com/questions/786 ... cess-token
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»