使用LinqToTwitter更新Twitter状态



我打算这样做:

  1. 创建一个MVC应用程序,用户点击一个按钮,被带到Twitter登录页面
  2. 在给出凭据后,用户被重定向到第二个页面
  3. 第二页有一个文本框和一个"Tweet"按钮
  4. 输入消息并点击"Tweet"将更新状态

我通过遵循LinqToTwitter codeplex页面的示例得到了第二点。

来自OAuth控制器的代码工作正常,它确实重定向回MVC应用程序的第二页。

但是我错过了一些没有发布状态的东西。

这是我传递用户输入状态的按钮click中的代码:

public ActionResult Status(string status)
    {
        var auth = new MvcAuthorizer
        {
            CredentialStore = new SessionStateCredentialStore()
        };
        auth.CompleteAuthorizeAsync(Request.Url);
        var twitterContext = new TwitterContext(auth);
        TweetAsync(twitterContext, status);
        return View(); //return some view to the user
    }
    void TweetAsync(TwitterContext twitterCtx, string statusToUpdate)
    {
        var tweet =  twitterCtx.TweetAsync(statusToUpdate);
        if (tweet != null)
        {
          // Inform the user about success
        }
     } 

以上两个方法也在OAuth控制器中

有人能帮我一下吗?

将方法改为async并返回Task:

public async Task Status(string Status){//…

    var tweet = await twitterContext.TweetAsync(twitterContext, status);
    // ...
}

然后等待TweetAsync,将响应分配给一个名为tweet的状态实体。如果你想要一个单独的方法来调用TweetAsync,也让它async。使用async,您必须使调用链中的每个方法都是异步的。

最新更新