в документе Google «Использование OAuth 2.0 для устройств» .it упоминает, что мы должны отправить следующую информацию на accounts.google.com после регистрации приложения в консоли.как реализовать Oauth2.0 gmail с использованием языка программирования c
POST /o/oauth2/device/code HTTP/1.1
Host: accounts.google.com
Content-Type: application/x-www-form-urlencoded
client_id=812741506391-h38jh0j4fv0ce1krdkiq0hfvt6n5amrf.apps.googleusercontent.com& scope=email%20profile
i implement that in c with the follwing steps:
1: объявить глобальный массив:
static char gmail_request_token_url[] = "POST /o/oauth2/device/code HTTP/1.1\r\n"
"Host: accounts.google.com\r\n"
"Content-Type: application/x-www-form-urlencoded\r\n"
"Content-Length: 289\r\n"
"Accept: text/html,*/*\r\n"
"User-Agent: Mozilla/5.0\r\n"
"client_id=my.apps.googleusercontent.com&scope=email%20profile\r\n";
2: создать сокет Подключение к "accounts.google.com" порт (80 или 443) и использовать отправить:
if(send(socket_fd, gmail_get_tokens, sizeof(gmail_get_tokens),0) > 0)
{
printf("successfully send content to google");
}
3: использовать цикл в то время как ответ Recv от сервера
while(1)
{
ret = recv(......);
}
, к сожалению, возвращаемое значение recv всегда 0. означает, что оно ничего не получает. Я не знаю, что с ним не так. Помогите мне.
Вам необходимо использовать HTTPS. – SLaks
Извините, что вы имеете в виду, используя https.how, чтобы реализовать это в коде? я спешу, пожалуйста, помогите. спасибо –
Вам нужен клиент HTTP/HTTPS, такой как завиток. – SLaks