使用DotNetOpenAuth查找用户的Twitter个人资料详细信息

时间:2011-04-28 05:46:44

标签: c# .net twitter dotnetopenauth

我如何找到以下详细信息:

  • 语言
  • 个人资料图片网址
  • 时区

我正在使用此代码进行身份验证。回调效果很好!

如何通过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.
}

Code source

2 个答案:

答案 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