Получите адрес электронной почты от GmailService с помощью клиентского API C# - PullRequest
1 голос
/ 28 мая 2020

Gmail API для получения информации профиля

По этой ссылке можно получить адрес электронной почты из аутентифицированного профиля. К сожалению, я не смог найти, как получить это в C# клиенте API.

Я пробовал это: GmailService.Users.GetProfile("me"), но он не содержит адреса электронной почты.

I Надеюсь, кто-то знает, как это сделать с помощью C# API-клиента.

Спасибо.

1 Ответ

0 голосов
/ 28 мая 2020

Вы можете использовать простой WebRequest и проанализировать JSON, чтобы получить поле emailAddress.

Вы можете создать модель ответа, которая будет выглядеть примерно так:

public class APIResponse 
{
    public string emailAddress {get; set;}
    public int messagesTotal {get; set;}
    public int threadsTotal {get; set;}
    public int id {get; set;}
}

Затем вы захотите сделать запрос GET на URL-адрес GoogleAPI и десериализовать ответ JSON от вашего API. Класс ответа.

WebRequest request = WebRequest.Create("https://www.googleapis.com/gmail/v1/users/me/profile");
            request.Method = "GET";
            request.ContentType = "application/x-www-form-urlencoded; charset=utf-8";
            request.Timeout = 50000;
            //Get response from server
            using (StreamReader stream = new StreamReader(request.GetResponse().GetResponseStream(), Encoding.UTF8))
            {
                sResponse = stream.ReadToEnd();
                resp = new JavaScriptSerializer().Deserialize<APIResponse>(sResponse);
            }

Тогда вы можете получить свой адрес электронной почты, просто позвонив resp.emailAddress. Я не тестировал этот код для GoogleAPI, но это должно помочь вам двигаться в правильном направлении. .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...