gpt4 book ai didi

c# - 检索 Linkedin 电子邮件地址

转载 作者:行者123 更新时间:2023-12-02 05:27:36 28 4
gpt4 key购买 nike

我正在使用 Hammock 库和 C# 从以下帖子中的链接获取用户的基本配置文件和电子邮件地址 here .

我也关注了这些帖子 herehere

然而,对于我来说,我无法获得 linkedin 用户的电子邮件地址。

阅读 this linkedin post 我有新的创建了一个新的应用程序来获取新的 key 但是仍然没有运气。

经历了this linkedin 帖子,但也无法正常工作

我在下面发布代码,但它从我关注的链接中大量提升

var credentials = new OAuthCredentials
{

CallbackUrl = "http://localhost:2715/Callback.aspx",

ConsumerKey = "my consumer key",//not shown

ConsumerSecret = "my consumer secret",//not shown

Type = OAuthType.RequestToken,

};


var client = new RestClient
{
Authority = "https://api.linkedin.com/uas/oauth",
Credentials = credentials
};

//var scope = HttpUtility.UrlEncode("r_basicprofile r_emailaddress");

var request = new RestRequest
{
Path = "requestToken?scope=r_basicprofile+r_emailaddress",
};

当用户导航到 linkedin 时,我会看到这个屏幕。

enter image description here

要实际请求电子邮件,我使用下面的代码

 var request = new RestRequest { Path = "people/~/email-address" };

var credentials = new Hammock.Authentication.OAuth.OAuthCredentials

{

Type = OAuthType.AccessToken,

SignatureMethod = OAuthSignatureMethod.HmacSha1,

ParameterHandling = OAuthParameterHandling.HttpAuthorizationHeader,

ConsumerKey = "my consumer key", //not shown

ConsumerSecret = "my consumer secret", //not shown

Token = Session["AccessToken"].ToString(),

TokenSecret = Session["AccessSecretToken"].ToString(),

Verifier = Session["Verifier"].ToString()

};


var client = new RestClient()
{
Authority = "http://api.linkedin.com/v1/",
Credentials = credentials,
Method = WebMethod.Get
};


var MyInfo = client.Request(request);

String content = MyInfo.Content;

这是我在 MyInfo.Content 上遇到的错误

enter image description here

预先感谢您的帮助。

在尝试 Kamyar 的建议时,我收到以下错误消息。我还应该尝试什么?

enter image description here

最佳答案

只要您在授权时请求“r_emailaddress”权限,经过身份验证的用户就可以访问电子邮件地址。

查看显示给用户以授权应用程序的 Oauth 登录对话框。请注意,“电子邮件地址”并未显示为应用程序想要访问的配置文件字段之一。您需要修改代码中的这一行:

var request = new RestRequest
{
Path = "requestToken?scope=r_basicprofile+r_emailaddress",
};

对此:

var request = new RestRequest
{
Path = "requestToken?scope=r_basicprofile%20r_emailaddress",
};

空格应该在您的请求 token 路径中进行 URL 编码。

谢谢,卡米亚莫哈格

关于c# - 检索 Linkedin 电子邮件地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12860359/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com