Как мне войти через linq в твиттер? - PullRequest
1 голос
/ 04 марта 2012

Извините, если это очевидно, но я не могу найти ответ.Я хочу опубликовать статус.Все, что я могу найти, это две строки.Я не могу понять, как войти.Мне все равно, если это пользователь / пароль или использует ключ API.

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

Я делаю это как консольное приложение.

1 Ответ

7 голосов
/ 16 августа 2012

Извините за мой английский, но я постараюсь вам помочь!

Сначала вам нужно создать аутентификацию одним способом - с вашим пользователем и паролем из вашего собственного количества твиттеров.

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 здесь вы регистрируете приложение, введенное в название, адрес вашей сети, затем вам дают 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 (отправитель объекта, EventArgs e) {twitterCtx.UpdateStatus ("Мой тестовый твит");
}

Легко !!Хорошо, как это работает!сначала, когда вы нажимаете кнопку authorizeTwitterButton, вы начинаете авторизацию для своей учетной записи в твиттере, и при входе в твиттер открывается новое окно, вы авторизуете приложение, а затем перенаправляете твиттер на свою страницу с необходимыми учетными данными, поэтому затем, когда вы нажимаете кнопку отправкиВы публикуете новый твит!

Также есть другой способ, при котором вам не нужно использовать методы начала и завершения авторизации.Здесь вы вводите непосредственно все полномочия.например:

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/ Пока!если тебе нравится мой ответ, просто дай мне клик !!джаджа

...