C# 如何登录twitter并检查通知
如何登录twitter并查看通知? Facebook 对于facebook,我使用这部分代码登录C# 如何登录twitter并检查通知,c#,winforms,twitter,login,browser,C#,Winforms,Twitter,Login,Browser,如何登录twitter并查看通知? Facebook 对于facebook,我使用这部分代码登录 wb1.Document.GetElementById("email").InnterText="user"; 因为代码html id是 <input type="text" class="inputtext" name="email" id="email" value="" tabindex="1" data-dynamite-selected="true"> Twitter 但在
wb1.Document.GetElementById("email").InnterText="user";
因为代码html id是
<input type="text" class="inputtext" name="email" id="email" value="" tabindex="1" data-dynamite-selected="true">
Twitter
但在twitter页面中,我有以下html代码
<div class="placeholding-input username hasome">
<input type="text" class="text-input email-input" name="session[username_or_email]" title="Nome utente o email" autocomplete="on" data-dynamite-selected="true">
<span class="placeholder">Nome utente o email</span>
</div>
Nome utente o电子邮件
这是使用TweetSharp的示例
首先,您需要继续,使用您的twitter帐户登录并创建新的应用程序,以便获得consumerKey和ConsumerCret值
这是一个帮助类,用于登录twitter并获得所有提及。此类通过HttpWebRequest/HttpWebResponse自动获取授权代码
public class Twitter
{
private TwitterService service;
private OAuthRequestToken requestToken;
public Twitter(String consumerKey, String consumerSecret)
{
service = new TwitterService(consumerKey, consumerSecret);
requestToken = service.GetRequestToken();
}
public void Login(String username, String password)
{
Uri uri = service.GetAuthorizationUri(requestToken);
CookieContainer cookieContainer = new CookieContainer();
String response = HttpUtil.GetResponseString(uri, cookieContainer);
int startIndex = response.IndexOf("authenticity_token\" type=\"hidden\" value=\"") + 41;
int endIndex = response.IndexOf("\"", startIndex + 1);
String authenticity_token = response.Substring(startIndex, endIndex - startIndex);
startIndex = response.IndexOf("name=\"oauth_token\" type=\"hidden\" value=\"") + 40;
endIndex = response.IndexOf("\"", startIndex + 1);
String oauth_token = response.Substring(startIndex, endIndex - startIndex);
String postData = "authenticity_token=" + authenticity_token +
"&oauth_token=" + oauth_token +
"&session%5Busername_or_email%5D=" + username +
"&session%5Bpassword%5D=" + password;
response = HttpUtil.GetResponseString(new Uri("https://api.twitter.com/oauth/authorize"), postData, cookieContainer);
if (response.Contains("Invalid user name or password"))
{
return;
}
startIndex = response.IndexOf("<code>") + 6;
endIndex = response.IndexOf("</code>");
String pin = response.Substring(startIndex, endIndex - startIndex);
OAuthAccessToken access = service.GetAccessToken(requestToken, pin);
service.AuthenticateWith(access.Token, access.TokenSecret);
}
public List<TwitterStatus> GetMentiones()
{
return service.ListTweetsMentioningMe().ToList<TwitterStatus>();
}
}
以下是Twitter类中用于获取和发布请求的帮助器类,以便自动获取授权代码:
public static class HttpUtil
{
public static String GetResponseString(Uri url, CookieContainer cc)
{
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url);
request.Method = WebRequestMethods.Http.Get;
request.CookieContainer = cc;
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
StreamReader reader = new StreamReader(response.GetResponseStream());
String responseString = reader.ReadToEnd();
response.Close();
return responseString;
}
public static String GetResponseString(Uri url, String postData, CookieContainer cc)
{
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url);
request.Method = WebRequestMethods.Http.Post;
request.ContentLength = postData.Length;
request.ContentType = "application/x-www-form-urlencoded";
request.CookieContainer = cc;
StreamWriter writer = new StreamWriter(request.GetRequestStream());
writer.Write(postData);
writer.Close();
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
StreamReader reader = new StreamReader(response.GetResponseStream());
String responseString = reader.ReadToEnd();
response.Close();
return responseString;
}
}
最后是一个简单的例子:
class Program
{
static void Main(string[] args)
{
Twitter twitter = new Twitter(**your_consumer_key**, **your_consumer_secret**);
twitter.Login(**username**, **password**);
List<TwitterStatus> statuses = twitter.GetMentiones();
foreach (TwitterStatus status in statuses)
{
Console.WriteLine(status.Text);
}
}
}
类程序
{
静态void Main(字符串[]参数)
{
Twitter=new Twitter(**你的消费者密钥**,**你的消费者秘密**);
twitter.Login(**用户名**,**密码**);
List statuses=twitter.getNinteries();
foreach(状态中的TwitterStatus状态)
{
Console.WriteLine(status.Text);
}
}
}
查看TweetSharp你能给我举个例子吗pleasethanks这么多回答,我已经采取了所有步骤,但是当我运行程序时,我发现一个错误,你能给我展示一下我的项目吗??在HttpUtil类的两个函数中,添加此请求。AutomaticDecompression=DecompressionMethods.GZip;
class Program
{
static void Main(string[] args)
{
Twitter twitter = new Twitter(**your_consumer_key**, **your_consumer_secret**);
twitter.Login(**username**, **password**);
List<TwitterStatus> statuses = twitter.GetMentiones();
foreach (TwitterStatus status in statuses)
{
Console.WriteLine(status.Text);
}
}
}