使用 LINQ to Twitter 进行身份验证后获取用户信息

Posted

技术标签:

【中文标题】使用 LINQ to Twitter 进行身份验证后获取用户信息【英文标题】:Get user info after authentication using LINQ to Twitter 【发布时间】:2012-12-07 21:33:40 【问题描述】:

我想在通过 Twitter 进行身份验证后检索用户信息。为此,我使用 LINQ to Twitter 库。可以使用此代码:

 var usersResponse =
            (from user in context.User
             where user.Type == UserType.Lookup &&
                   user.ScreenName == "MRade90"
             select user).ToList();

        var users =
           (from user in usersResponse
            select new User
            
                Name = user.Identifier.ScreenName,
                StatusText = user.Status.Text,
                PictureUrl = new Uri(user.ProfileImageUrl)
            ).FirstOrDefault();

但这是硬编码的,ScreenName 设置为 MRade90。是否可以对当前经过身份验证的用户做同样的事情?

【问题讨论】:

【参考方案1】:

我找到了。当前用户凭据可以从 WinRtAuthorizer 类的 Credentials 属性访问。例如,您可以在这里使用 ScreenName:

string screenName = auth.Credentials.ScreenName;

【讨论】:

【参考方案2】:

我正在使用

var 用户 = (来自 twitterCtx1.User 中的用户 其中 user.Type == UserType.Lookup && //user.UserID == list1 list1.Contains(user.UserID) 选择用户) .ToList();

但是,我无法提取用户 ID 和工作。我可能会出错的任何输入。

谢谢

【讨论】:

我认为你不能这样做。如果您查看 linqtotwitter.codeplex.com/SourceControl/latest#LinqToTwitterAg/… 实现,您会发现它需要用户 JsonData 对象才能获取用户信息。为此,您必须对用户进行身份验证并收集其 JsonData(我认为是 OAuth 授权者类)。 这是OAuthAuthorizer类的实现:linqtotwitter.codeplex.com/SourceControl/latest#LinqToTwitterAg/…【参考方案3】:

我就是这样做的,

var auth = new SingleUserAuthorizer
                        
                            CredentialStore = new SingleUserInMemoryCredentialStore
                            
                                ConsumerKey = consumerKey,
                                ConsumerSecret = consumerSecret,
                                AccessToken = twitterToken.Token,
                                AccessTokenSecret = twitterToken.TokenSecret                                
                            
                        ;

var twitterCtx = new TwitterContext(auth);

  var acc = (from user in twitterCtx.Account where user.Type == AccountType.VerifyCredentials select user).FirstOrDefault();

【讨论】:

以上是关于使用 LINQ to Twitter 进行身份验证后获取用户信息的主要内容,如果未能解决你的问题,请参考以下文章

在向 Twitter/Facebook 进行身份验证后向 Spring Security 进行身份验证

如何使用已安装的 Twitter 应用进行身份验证

取消后再次进行身份验证时,Android Twitter Kit 崩溃

如何使用 Zapier 的 Twitter API 进行身份验证?

使用 Everyauth/Passport.js 向 Twitter 进行身份验证,同时询问用户名/电子邮件/密码

使用Flex Mobile进行Twitter身份验证