如何使用asp.net获取twitter API上的用户信息
本文关键字:用户 信息 API twitter 何使用 asp net 获取 | 更新日期: 2023-09-27 18:06:31
我目前正在做一个使用twitter API的项目。
我有一个像这样的代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Newtonsoft.Json.Linq; // Added for JSON Library ( Doc)
using System.Xml;
using oAuthExample;
public partial class twitterInfo : System.Web.UI.Page
{
string url = "";
string xml = "";
public string name = "";
public string username = "";
public string profileImage = "";
public string followersCount = "";
public string noOfTweets = "";
public string recentTweet = "";
//Source http://www.aspdotnet-suresh.com/2012/05/add-twitter-login-authentication-to.html
protected void Page_Load(object sender, EventArgs e)
{
GetUserDetailsFromTwitter();
}
private void GetUserDetailsFromTwitter()
{
if (Request["oauth_token"] != null & Request["oauth_verifier"] != null)
{
imgTwitter.Visible = false;
tbleTwitInfo.Visible = true;
var oAuth = new oAuthTwitter();
//Get the access token and secret.
oAuth.AccessTokenGet(Request["oauth_token"], Request["oauth_verifier"]);
if (oAuth.TokenSecret.Length > 0)
{
url = "https://api.twitter.com/1.1/account/verify_credentials.json";
xml = oAuth.oAuthWebRequest(oAuthTwitter.Method.GET, url, String.Empty);
JObject o = JObject.Parse(xml);
name = Convert.ToString(o["name"]);
username = Convert.ToString(o["screen_name"]);
profileImage = Convert.ToString(o["profile_image_url"]);
followersCount = Convert.ToString(o["followers_count"]);
noOfTweets = Convert.ToString(o["statuses_count"]);
noOfTweets = Convert.ToString(o["birthday"]);
}
}
}
protected void imgTwitter_Click(object sender, ImageClickEventArgs e)
{
var oAuth = new oAuthTwitter();
if (Request["oauth_token"] == null)
{
//Redirect the user to Twitter for authorization.
//Using oauth_callback for local testing.
// R_ use the dynamic url director
// Call back URL to direct the user to the page
oAuth.CallBackUrl = "http://localhost:518/Account/TwitterInfo.aspx";
Response.Redirect(oAuth.AuthorizationLinkGet());
}
else
{
GetUserDetailsFromTwitter();
}
}
}
此代码是Twitter API项目的一部分,用于返回(名称,twitterusername, profileimage,关注者和tweet数量)。我知道Twitter API不检索用户的电子邮件地址。但是我想检索用户的配置文件ID和用户的配置文件链接…谁能告诉我我应该从上面的代码更改检索这两个数据?
这里是完整源代码的链接
用于account/verify_credentials的代码看起来不错,如果正常工作,您可以使用相同的代码,但更改URL。帐户/verify_credentials将适用于经过身份验证的用户,但是您必须使用users/show来指定任何用户。这里有一个帐户/设置端点,但同样只针对经过身份验证的用户。
只有个人用户可以看到他们自己的设置页面。您可以将用户发送到https://twitter.com/settings/account,这是他们自己的个人资料页面,但他们需要登录才能看到它。我不知道这是否符合你的要求,但你可以做的一件事是识别一个人的公共twitter页面,就像这样:
string publicTwitterPage = "https://twitter.com/" + username;