如何使用linq登录twitter?

时间:2012-03-04 16:43:44

标签: .net twitter linq-to-twitter

我很抱歉,如果它很明显,但我找不到答案。我想发布一个状态。我能找到的就是这两行。我无法弄清楚如何登录。我不在乎它是用户/密码还是使用API​​密钥。

var twitterCtx = new TwitterContext();
var tweet = twitterCtx.UpdateStatus(@"test text");

我这样做是一个控制台应用程序。

1 个答案:

答案 0 :(得分:7)

对不起我的英语,但我会尽力帮助你!

首先,您需要创建一种身份验证,一种方式是使用您自己的Twitter用户和密码。

UsernamePasswordAuthorization cxauthentication = new UsernamePasswordAuthorization();
ctxauthenticatin.UserName = userName; // Put in your Twitter Account
ctxauthenticatin.Password = password; // and password
ctxauthenticatin.AllowUIPrompt = false;
ctxauthenticatin.SignOn();

var ctxTwitterContext = new TwitterContext(ctxauthentication);
ctxTwitterContext.UpdateStatus("test text"); 

还有另外一种方法,你需要在这个页面http://dev.twitter.com中注册一个应用程序,你在这里注册一个名字,一个你的网站的一个aplicattion,然后他们给你一个ConsumerKey,ConsumerSecert和如果你生成访问令牌,那么他们也会给你一个AccessToken和AccessTokenSecret。 Remenber转到设置并选择读取,写入和访问直接消息选项。然后生成AccessToken。在你的代码中你可以这样做:

public partial class _Default : System.Web.UI.Page
{
private WebAuthorizer auth;
private TwitterContext twitterCtx;

protected void Page_Load(object sender, EventArgs e)
{
    IOAuthCredentials credentials = new SessionStateCredentials();

    if (credentials.ConsumerKey == null || credentials.ConsumerSecret == null)
    {
        credentials.ConsumerKey = "Here put your ConsumerKey";
        credentials.ConsumerSecret = "Here put your ConsumerSecret"
    }

    auth = new WebAuthorizer
    {
        Credentials = credentials,
        PerformRedirect = authUrl => Response.Redirect(authUrl)
    };
      if (!Page.IsPostBack)
    {
        auth.CompleteAuthorization(Request.Url);
    }
     twitterCtx = new TwitterContext(auth);
 }
protected void authorizeTwitterButton_Click(object sender, EventArgs e)
{
    auth.BeginAuthorization(Request.Url);
}

protected void SendTweet_Click(object sender,EventArgs e)     {              twitterCtx.UpdateStatus(“我的测试推文”);
    }

易于!!好吧它是如何工作的!首先,当您点击按钮authorizeTwitterButton时,您开始为您的Twitter帐户授权,新的窗口将打开,您在Twitter上登录,您授权应用程序,然后Twitter重定向到您的页面,凭据必要的凭据,然后当你clic发送按钮你发布了一条新推文!

还有另一种方法,您不需要使用开始和完整的授权方法。在这里,您直接介绍所有凭证。例如:

var auth = new SingleUserAuthorizer
{
            Credentials = new InMemoryCredentials
            {
                ConsumerKey = "your ConsumerKey",
                ConsumerSecret = "Your consumerSecret",
                OAuthToken = "your AccessToken",
                AccessToken = "your AccessTokenSecret"]
            }
        };
var ctxTwitterContext = new TwitterContext(auth);
ctxTwitterContext.UpdateStatus("test text"); 

确定!我希望我的帮助你!有关更多信息,请访问http://linqtotwitter.codeplex.com/中的文档 再见!如果你喜欢我的anwser只需点击一下! jaja