#c# #asp.net #twitter #twitter-oauth #twitterizer
#c# #asp.net #Twitter #twitter-oauth #twitterizer
Вопрос:
Это мой код нажатия кнопки, но статус в Twitter не обновляется. Пожалуйста, помогите мне.
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/" "";
}
Комментарии:
1. Я думаю, что никто не сможет помочь вам решить эту проблему, если вы не предоставите больше информации.
2. пожалуйста, укажите, какую дополнительную информацию вы хотите получить..
3. не могли бы вы, пожалуйста, поделиться своим почтовым идентификатором?? я опубликую тебя..
4. Все ответы должны быть размещены здесь, чтобы мы все могли помочь и / или учиться. Пожалуйста, опишите, какое сообщение об ошибке вы получаете. Возможно, вы также захотите показать больше кода, чтобы мы могли видеть, как на самом деле используется опубликованный вами фрагмент.
5. Если вы хотите использовать Twitter OAuth, можете перейти по этой ссылке voiceoftech.com/swhitley/index.php/2009/03/… Надеюсь, это поможет вам.
Ответ №1:
я думаю, вы следите за этим сайтом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
почему бы вам не попробовать это??? это код виджета Twitter, он также будет делать то же самое.. вам нужно войти в систему один раз, после чего вы сможете публиковать / делиться с ней…
<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>
и это работает..
надеюсь, это поможет..
Комментарии:
1. я уже подписан на этот сайт ( dotnetguts.blogspot.com/2010/05 / … ) и применил тот же код в моем asp.net страница, но она не работает после аутентификации, перенаправляя ее на мою страницу обратного вызова URL.
Ответ №2:
В этом месте "tttt"
вам нужно ввести вас consumer key
и "hhhh"
вам нужно вставить свой secret key
.Я думаю, что вы обновили else, обновите их своим.Или же вы можете получить его отсюда https://dev.twitter.com/apps/new
Вот весь код, который вы можете просто скопировать и вставить, как я это сделал на vb, и вы можете конвертировать с помощью C # converter отсюда: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=" amp; 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"/>
Если у вас возникнут какие-либо проблемы, дайте мне знать.Надеюсь, это поможет вам.
Комментарии:
1. я уже обновил с оригиналом, но здесь по соображениям безопасности я не поставил
2. Вы получаете какие-либо сообщения об ошибках, вы проверили это, установив точки останова?
3. я проверил, указав точку останова, что если (Запрос. Строка запроса [«oauth_token»] == null) здесь он заходит внутрь и запрашивает авторизацию, после нажатия авторизации он перенаправляется на мой URL обратного вызова, потому что его значение равно null, я имею в виду, что это недопустимый user…so можете, пожалуйста, уточнить, как этот запрос. Строка запроса [«oauth_token»] == null) oauth_token будет иметь некоторое значение .. большое спасибо за ответ
4. Вау, @user944919, Twitterizer2.Включите сбор статистики. Я давно такого не видел. Я люблю тебя за то, что ты так долго пользуешься Twitterizer!
5. Это значительно упрощает публикацию ваших сообщений о статусе.
Ответ №3:
Чтобы определить, что не так с вашим кодом, вы должны проверить статус результата.
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 /.
Ответ №4:
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);
Комментарии:
1. привет, я использовал ur-код, я установил какой-то другой веб-сайт в своем обратном адресе. После нажатия кнопки Авторизовать приложение оно перенаправляется на мой веб-сайт callbackAddress, поэтому я не могу ввести свой статус на моей странице asp .net .. пожалуйста, помогите мне в этом
2. @sambit установите URL обратного вызова для страницы, на которой вы будете вводить твиты .. после авторизации он автоматически перенаправляется на указанную вами страницу .. теперь вы получаете токены oauth
3. проверьте это — tonyamoyal.com/2009/08/17 /…
4. я получаю токены oauth, но когда я устанавливаю адрес моего локального хоста ( localhost: 4117 / statusUpdate.aspx ) в обратном вызове aaddress, это не позволяет мне, можете ли вы, пожалуйста, помочь мне в этом
5. это данные моего токена: twitter.com/oauth /…