我如何找到以下详细信息:
我正在使用此代码进行身份验证。回调效果很好!
如何通过DotNetOpenAuth进行身份验证以获取个人资料详细信息?
public bool FinishAuthentication()
{
using (var twitter = new WebConsumer(ServiceDescription, _tokenManager))
{
var accessTokenResponse = twitter.ProcessUserAuthorization();
if (accessTokenResponse != null)
{
string userName = accessTokenResponse.ExtraData["screen_name"];
string id = accessTokenResponse.ExtraData["user_id"];
//-----how can we get all the other profile info?-----
GetProfileDetails(id);
return true;
}
}
return false;
}
public void GetProfileDetails(string id)
{
//unsure how to implement with DotNetOpenAuth.
}
答案 0 :(得分:4)
如果您只是尝试对用户进行身份验证并检索其数据,我会使用TweetSharp之类的内容。您可以将用户身份验证为Web应用程序或桌面应用程序,并且您可以访问用于检索用户详细信息,关系,提及等的方法。这比尝试自己解析Twitter响应要快得多。
以下是他们的文档,其中显示了TweetSharp的易用性:http://tweetsharp.codeplex.com/documentation
或者,您可以像现在一样继续进行身份验证,只需使用TweetSharp(使用用户访问令牌)来提取所需的数据。
已修改为您的问题添加更具体的信息:
TweetSharp提供了一个方法GetUserProfileFor(int userId),它返回一个TwitterUser对象,其中包含TimeZone,profile image url,langauge,location等。
答案 1 :(得分:0)
我一直在研究这个问题,到目前为止我发现了以下内容。有一个站点提供有关如何使用DotNetOpenAuth建立连接的ASP.NET教程。这是它的链接:
http://bhaidar.net/post/2011/04/04/OpenID-Single-Sign-On-ASPNET-Web-Forms.aspx
这是一个链接到的网站,以便找到有关下载内容的扩展信息:
http://openid.net/specs/openid-simple-registration-extension-1_0.html