【问题标题】:Tweet from users behalf来自用户的推文
【发布时间】:2014-06-18 20:13:06
【问题描述】:

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

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

【问题讨论】:

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


    【解决方案1】:

    你必须先去https://dev.twitter.com/

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

    您必须在您的应用程序中使用该信息,然后 twitter 将允许您发布消息。

    【讨论】:

    • 我已经有了。我拥有 twitter api 提供的所有密钥。但我正在寻找一种可以将用户名和密码传递给 api 并发布推文的方法。
    • 我已经发布了一个 Approch 你必须使用 Twitterizer2.dll
    【解决方案2】:

    你可以使用下面提到的 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
        }
    

    【讨论】:

    • @Dhavan 如果我会使用这种方法。推文将从开发人员的帐户(为其生成令牌的帐户)发布。我不想这样做。我希望任何第三个用户进入我的应用程序,登录并将推文发布到他/她自己的帐户。
    【解决方案3】:

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

    在按钮点击事件中

    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>
    

    【讨论】:

      猜你喜欢
      • 2021-11-17
      • 2017-09-03
      • 1970-01-01
      • 2016-07-03
      • 1970-01-01
      • 2021-09-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多