让我解释一下我的问题,目前我使用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?
如果不能,我怎么能让它起作用呢?
非常感谢你!
答案 0 :(得分:2)
您正在寻找GET account/verify_credentials。
您将收到当前访问令牌的“id”(user_id)等。
答案 1 :(得分:1)
一旦完成授权,LINQ to Twitter将填充auth.Credentials.UserId属性。您也可以在那里找到ScreenName。