是否可以从访问令牌中检索用户的Twitter用户ID?

时间:2013-10-02 15:32:32

标签: twitter twitter-oauth access-token userid linq-to-twitter

让我解释一下我的问题,目前我使用LinqToTwitter来执行用户的授权。

我的网站上有Connect Twitter按钮,当用户点击它时,ajax请求请求方法执行授权,用户重定向到:

"https://api.twitter.com/oauth/authorize?oauth_token=" 

然后输入他的登录名和密码。

一旦完成,他就会重定向到我网站的urlReferrer,我会收到我需要的字段,如用户名,用户ID,......

然后,如果社交网络用户的UserId与我的数据库的任何条目不匹配,我打开一个弹出窗口询问他的电子邮件(电子邮件是必填字段)

然后,一旦用户确认了电子邮件,我就必须通过制作ajax请求connectSocialUser(userid,avatar,accessToken)来连接他在我们的网站。

对于Google和Facebook,我已将参数设置为访问令牌,然后分别请求这两个网址:

"https://graph.facebook.com/me?fields=id&access_token="
"https://www.googleapis.com/oauth2/v1/userinfo?access_token="

这两个网址会回复用户ID,通过简单的比较,我可以知道用户是好用户而不是篡夺者。

所以我的问题是: 是否可以从访问令牌中检索用户的用户ID?

如果不能,我怎么能让它起作用呢?

非常感谢你!

2 个答案:

答案 0 :(得分:2)

您正在寻找GET account/verify_credentials

您将收到当前访问令牌的“id”(user_id)等。

答案 1 :(得分:1)

一旦完成授权,LINQ to Twitter将填充auth.Credentials.UserId属性。您也可以在那里找到ScreenName。