使用 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 进行身份验证
取消后再次进行身份验证时,Android Twitter Kit 崩溃
如何使用 Zapier 的 Twitter API 进行身份验证?