代表用户发推文

时间:2014-05-02 07:39:20

标签: c# asp.net vb.net twitter twitter-oauth

我想使用用户帐户发布推文。 我有一个网页,要求用户登录Twitter的凭证。 一旦用户成功登录并输入推文,我希望此推文发布在用户的推特账户中。 可能吗。 如果是,我已经通过使用twitterVB类获取了推文,我可以为此目的使用相同的类。 我找到了一些在互联网上这样做的方法,但他们要求的是customer_key和密钥,而不是登录信息。

请帮忙。任何建议或解决方案都会非常有用。

3 个答案:

答案 0 :(得分:1)

您必须先转到https://dev.twitter.com/

通过开发者帐户创建一个应用程序。从他们那里得到了访问令牌和其他密钥。

您必须将该信息用于您的应用程序,然后Twitter将允许您发布消息。

答案 1 :(得分:1)

您可以使用下面提到的Approch

        OAuthTokens Token = new OAuthTokens();
        Token.ConsumerKey = twitterdata.AppId;
        Token.ConsumerSecret = twitterdata.AppSecret;
        Token.AccessToken = twitterdata.TokenId;
        Token.AccessTokenSecret = twitterdata.Tokensecret;
        string postedMsgID = TwitterPost(Token, PostMsg, ref strErrorMsg);

 private string TwitterPost(OAuthTokens Token, string PostMsg, ref StringBuilder strErrorMsg)
    {
        log.Info("Start Tweeting At==> " + DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToLongTimeString());
        #region Called the Tweeting API for Tweet the News.
        string MsgID = "-1";
            try
            {
                StatusUpdateOptions options = new StatusUpdateOptions();
                options.UseSSL = true;
                TwitterResponse<TwitterStatus> ts = TwitterStatus.Update(Token, PostMsg, options);
                if (ts.ResponseObject != null)
                    MsgID = Convert.ToString(ts.ResponseObject.Id);
                if (!string.IsNullOrEmpty(ts.Content.Trim()))
                {
                    if (ts.Content.Trim().ToLower().Contains("error"))
                    {
                        log.Error(DateTime.Now.ToLongTimeString() + "Twitter Error : Occured in posting msg : " + PostMsg + ", Message : " + ts.Content);
                        strErrorMsg.Append(ts.Content);
                    }
                }
            }
            catch (Exception e)
            {
                log.Error(DateTime.Now.ToLongTimeString() + "Twitter Error : Occured in posting msg : " + PostMsg + ", Message : " + e.Message);
                strErrorMsg.Append(e.Message);
            }


        log.Info("END Tweeting At==> " + DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToLongTimeString());
        return MsgID;
        #endregion
    }

答案 2 :(得分:0)

您可以使用下面提到的代码:

按钮点击事件

window.open("localhost:2401\tweeter.html", ShareURL, 'width=700,height=570');

我的tweeter.html代码看起来像

<html>
   <head>
    <title></title>
   </head>
<body>
</body>
</html>

<script>
var url = window.opener.ShareURL;

window.location.assign('https://twitter.com/share?text=' +  encodeURIComponent(url).trim() + "&url=", "twitter", 'width=700,height=570');

</script>