Asp.net mvc 3 使用LinqToTwitter发送私人消息

Asp.net mvc 3 使用LinqToTwitter发送私人消息,asp.net-mvc-3,c#-4.0,linq-to-twitter,Asp.net Mvc 3,C# 4.0,Linq To Twitter,嗨,我想用linqToTwitter发送私人消息,以下是我的代码: var auth = new MvcAuthorizer { Credentials = new InMemoryCredentials() { ConsumerKey = TwitterClient.ConsumerKey, ConsumerSecret = TwitterClient.Consu

嗨,我想用linqToTwitter发送私人消息,以下是我的代码:

 var auth = new MvcAuthorizer
        {
            Credentials = new InMemoryCredentials()
            {
                ConsumerKey  = TwitterClient.ConsumerKey,
                ConsumerSecret = TwitterClient.ConsumerSecret,                    
                OAuthToken = TempData["AccessToken"] as string,
                AccessToken = TempData["TokenSecret"] as string
            }
        };            
        var twitterContext = new TwitterContext(auth);            
        var message = twitterContext.NewDirectMessage(auth.UserId, "Hi ucef, cool to discuss with you" + DateTime.Now);

但是auth.UserId是空的,你知道吗

授权人只会在您通过OAuth过程(用户对您的应用进行身份验证)后立即持有用户ID。用户验证你的应用程序后,Twitter会发回用户名和屏幕名

您将同时加载所有4个凭据,这样就可以方便地查询Twitter,而无需经过OAuth过程。但是,由于没有经过OAuth过程,因此没有填充用户ID的方法

解决此问题的一种方法是在用户第一次进行身份验证后保存用户ID,并从您在后续查询中存储的位置检索保存的ID

另一个解决方法是执行帐户验证凭据查询。您可以从Account.User.UserIdentifier属性获取用户标识


Joe

您想给自己发送DM吗?auth.UserId具有经过身份验证的用户id。而且,访问令牌和令牌密钥是有效的吗?谢谢Zach先生,你可以看到下面的链接,我描述了如何获取访问令牌和令牌密钥,我的目标是获取经过身份验证的用户的用户id。我稍后会发送私人消息。我尝试了这两种方法,第一种是auth.UserId为null,第二种是异常401,所以我认为token和tokenSecret无效,Joe先生能验证我得到token和tokenSecret的方法是正确的吗,下面是我得到它的链接:。谢谢你,乔先生:-)!!此页面上有一个MvcOauthDemo示例:-您可能希望首先运行示例,这可能有助于找出代码与示例之间的差异。此外,我这里有一个FAQ帮助调试401错误: