如何从twitter api中提取用户信息

时间:2015-03-22 08:33:56

标签: asp.net twitter oauth twitter-oauth

我尝试在我的asp.net应用程序中使用twitter实现登录。我正在按照这篇文章来执行此功能:

Login with twitter using Oauth

它只给我屏幕名称和用户ID。我想获得更多信息,如用户名,位置和电子邮件(如果可能)。谁能告诉我如何获取这些信息。

1 个答案:

答案 0 :(得分:1)

字段 screen_name 是Twitter的用户ID。你无法收到电子邮件。您可以在同一对象 user 中的名为 location 的字符串字段中获取用户的位置。

您可以在此link中找到对象用户的完整说明。

作为旁注,您可以将该位置视为地理位置。每条推文中的坐标。它是对象 tweet 中的字段坐标。但根据我的经验,它几乎没有被告知。

至于实际访问的代码,查看您在问题中提供的链接,您可以构建一个类似于我在下面尝试编写的方法。对不起,我无法测试它(实际上我不太了解.NET),但是我希望从这一点开始,你不会让你很久。这将调用GET users show,实现类似于:

public static HttpWebRequest getUserData(string oauth_consumer_key, string oauth_consumer_secret, string oauth_access_token, string oauth_token_secret, string user_screen_name)
    {
        string updateStatusURL = "https://api.twitter.com/1.1/users/show.json?screen_name=" + user_screen_name;

        string outUrl;
        string OAuthHeaderPOST = OAuthUtility.GetAuthorizationHeaderForPost_OR_QueryParameterForGET(new Uri(updateStatusURL), callbackUrl, httpMethod.POST.ToString(), oauth_consumer_key, oauth_consumer_secret, oauth_access_token, oauth_token_secret, out outUrl);

        HttpWebRequest request = (HttpWebRequest)WebRequest.Create(outUrl);
        request.Method = httpMethod.GET.ToString();
        request.Headers["Authorization"] = OAuthHeaderPOST;

        return request;

    }

}

然后你必须阅读request的结果。 希望它有所帮助!