Как обновить статус Twitter со страницы ASP.NET с помощью C # .NET? - PullRequest
0 голосов
/ 10 ноября 2011

Это мой код нажатия кнопки, но статус в Твиттере не обновляется.Пожалуйста, помогите мне.

protected void btnTwitt_Click(object sender, EventArgs e)
{
    string twitterMsg = txtShout.Text;
    OAuthTokens tokens = new OAuthTokens();
    tokens.AccessToken = "xxxxx";
    tokens.AccessTokenSecret = "yyyy";
    tokens.ConsumerKey = "tttt";
    tokens.ConsumerSecret = "hhhh";
    TwitterResponse<Twitterizer.TwitterStatus> tweetResponse = 
    Twitterizer.TwitterStatus.Update(tokens, twitterMsg);
    lblTwitMsg.Text = "Your have shout successfully on http://twitter.com/" + "";
}

Ответы [ 4 ]

1 голос
/ 10 ноября 2011

Я думаю, что вы следите за этим сайтом http://www.twitterizer.net/

перейдите по следующим ссылкам для получения подробной информации .. Я еще не пробовал, но они содержат подробную информацию о реализации ..

http://www.dougv.com/2009/07/01/posting-status-updates-tweets-to-a-twitter-profile-via-asp-net/

http://dotnetguts.blogspot.com/2010/05/tweet-posting-from-aspnet-using-oauth.html

почему бы вам не попробовать это ???это код виджета в твиттере, он тоже будет делать то же самое ... вам нужно будет войти один раз, тогда вы сможете публиковать / делиться им ...

<a href="http://twitter.com/share" class="twitter-share-button"
data-url=""
data-text="testing tweet post" data-count="none" data-via="niranjankala" data-counturl="">
Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js">
</script>

и он работает .. enter image description here

надеюсь, что это поможет ..

0 голосов
/ 10 ноября 2011

Чтобы определить, что не так с вашим кодом, вы должны проверить статус результата.

protected void btnTwitt_Click(object sender, EventArgs e)
{
     string twitterMsg = txtShout.Text;

    OAuthTokens tokens = new OAuthTokens();
    tokens.AccessToken = "xxxxx";
    tokens.AccessTokenSecret = "yyyy";
    tokens.ConsumerKey = "tttt";
    tokens.ConsumerSecret = "hhhh";
    TwitterResponse<Twitterizer.TwitterStatus> tweetResponse = Twitterizer.TwitterStatus.Update(tokens, twitterMsg);
    if (tweetResponse.Result == RequestResult.Success)
    {
        lblTwitMsg.Text = "Your have shout successfully on http://twitter.com/";
    }
    else
    {
        lblTwitMsg.Text = string.format("The tweet could not be posted: {0}", tweetResponse.ErrorMessage);
    }
}

Свойство tweetResponse.Result также даст вам представление о том, что произошло.

Если у вас есть дополнительные вопросы, вы должны связаться со службой поддержки Twitterizer (это на самом деле я) на форумах: http://forums.twitterizer.net/.

0 голосов
/ 10 ноября 2011
 try getting oauth token first using this.sorry if it doesnot help ..   

var consumerKey = ConfigurationManager.AppSettings["consumerKey"];
     var consumerSecret = ConfigurationManager.AppSettings["consumerSecret"];
     //Step 1: Get Request Token
      string callbackAddress = "http://xxx.co/folder/Twitter.aspx";
     OAuthTokenResponse RequestToken = OAuthUtility.GetRequestToken(consumerKey, consumerSecret, callbackAddress);
    //  Step 2: Redirect User to Requested Token
            Response.Redirect("http://twitter.com/oauth/authorize?oauth_token=" + RequestToken.Token);
0 голосов
/ 10 ноября 2011

Вместо "tttt" вам нужно ввести consumer key и "hhhh", вам нужно вставить secret key. Я думаю, что вы обновили, либо обновите их своими. Или еще вы можете получить их здесь https://dev.twitter.com/apps/new

Вот весь код, который вы можете просто скопировать и вставить, как я сделал это vb, и вы можете конвертировать с помощью C # конвертера отсюда: C # Converter

Первая загрузка twitterizer.dll отсюда http://www.twitterizer.net/downloads/ Добавить новый файл класса, который я назвал его (BasPage.vb)

Imports Microsoft.VisualBasic
Imports System
Imports System.Collections
Imports System.Collections.Generic
Imports System.Data
Imports System.Diagnostics
Imports Twitterizer

Public Class BasePage
    Inherits System.Web.UI.Page

    Protected Sub DisplayAlert(ByVal msg As String)
        ClientScript.RegisterStartupScript(Me.GetType(), Guid.NewGuid().ToString(), String.Format("alert('{0}');", msg.Replace("'", "\'").Replace(Constants.vbCrLf, "\n")), True)
    End Sub

    Protected Function GetCachedAccessToken() As OAuthTokens
        If Session("AccessToken") IsNot Nothing Then
            Return CType(Session("AccessToken"), OAuthTokens)
        Else
            Return Nothing
        End If
    End Function

    Public Function GetCachedUserId() As ULong
        If Session("GetCachedUserId") IsNot Nothing Then
            Return Convert.ToUInt64(Session("GetCachedUserId"))
        Else
            Return ULong.MinValue
        End If
    End Function

    Protected Sub CreateCachedAccessToken(ByVal requestToken As String)
        Dim ConsumerKey As String = ConfigurationManager.AppSettings("ConsumerKey")
        Dim ConsumerSecret As String = ConfigurationManager.AppSettings("ConsumerSecret")

        Dim responseToken As OAuthTokenResponse = OAuthUtility.GetAccessToken(ConsumerKey, ConsumerSecret, requestToken)

        'Cache the UserId
        Session("GetCachedUserId") = responseToken.UserId

        Dim accessToken As New OAuthTokens()
        accessToken.AccessToken = responseToken.Token
        accessToken.AccessTokenSecret = responseToken.TokenSecret
        accessToken.ConsumerKey = ConsumerKey
        accessToken.ConsumerSecret = ConsumerSecret

        Session("AccessToken") = accessToken
    End Sub

    Protected Function GetTwitterAuthorizationUrl() As String
        Dim ConsumerKey As String = ConfigurationManager.AppSettings("ConsumerKey")
        Dim ConsumerSecret As String = ConfigurationManager.AppSettings("ConsumerSecret")

        Dim reqToken As OAuthTokenResponse = OAuthUtility.GetRequestToken(ConsumerKey, ConsumerSecret)
        Return "https://twitter.com/oauth/authorize?oauth_token=" & reqToken.Token
    End Function
End Class

А затем добавьте кнопку и вставьте этот код:

 Protected Sub ibSignInWithTwitter_Click(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles ibSignInWithTwitter.Click
        Response.Redirect(MyBase.GetTwitterAuthorizationUrl())
  End Sub

И, наконец, в вашем файле web.config вы должны добавить это:

        <add key="ConsumerKey" value="you consumer key"/>
        <add key="ConsumerSecret" value="you consumersecret key"/>
        <add key="Twitterizer2.EnableStatisticsCollection" value="false"/>

Если у вас возникнут проблемы, дайте мне знать. Надеюсь, это поможет вам.

...