使用 C# 客户端 API 从 GmailService 获取电子邮件地址



Gmail API 获取个人资料信息

基于此链接,可以从经过身份验证的配置文件中获取电子邮件地址。 不幸的是,我无法在 C# API 客户端中找到如何获取它。

我试过这个:GmailService.Users.GetProfile("me"),但这不包含电子邮件地址。

我希望有人知道如何使用 C# API 客户端执行此操作。

谢谢。

这对我有用

// Create Gmail API service.
GmailService service = new GmailService(new BaseClientService.Initializer()
{
HttpClientInitializer = credential,
ApplicationName = ApplicationName,
});
var gmailProfile = service.Users.GetProfile("me").Execute();
var userGmailEmail = gmailProfile.EmailAddress;

您可以使用简单的WebRequest并解析JSON以获取电子邮件地址字段。

您可以构建如下所示的响应模型:

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

然后,您需要向 GoogleAPI 网址发出 GET 请求,并从 API Response 类中反序列化 JSON 响应。

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测试过这段代码,但这应该会让你朝着正确的方向前进。

最新更新