我正在尝试在项目中显示用户的Stack Overflow信誉。我有用户电子邮件。因此,通过用户电子邮件作为输入,我可以获得用户的Stack Overflow声誉吗?
现在我尝试使用Javascript SDK。使用Stack Overflow的身份验证方法。在这种情况下,用户必须登录Stack Overflow,然后我才能获得用户的Stack Overflow id和声誉。
答案 0 :(得分:12)
出于隐私原因,堆栈exchange-api中没有电子邮件地址。它们在data explorer或datadumps中均不可用。 据我所知,您将无法根据电子邮件地址查询数据库。
通过身份验证,您可以根据用户ID或使用/me功能找到用户。
关于声誉的更新,我相信您可以使用每天更新声誉的cron作业。
根据您希望如何表示声誉,您还可以考虑使用Stack Exchange本身提供的 Flair 选项。 Flairs是一些小图像,描绘了用户的摘要并显示了他/她的声誉。这些风格由SE每24-36小时更新一次,可通过网址访问: https://stackoverflow.com/users/flair/user_id_here.png
答案 1 :(得分:0)
您可以通过堆栈溢出API获得用户的声誉:
https://stackoverflow.com/users/flair/<user_id>.json
它返回一个json字符串(以我自己为例)
{
"id":7360676,
"gravatarHtml":{},
"badgeHtml":"<span title=\"2 silver badges\" aria-hidden=\"true\"><span class=\"badge2\">●</span><span class=\"badgecount\">2</span></span><span class=\"v-visible-sr\">2 silver badges</span><span title=\"9 bronze badges\" aria-hidden=\"true\"><span class=\"badge3\">●</span><span class=\"badgecount\">9</span></span><span class=\"v-visible-sr\">9 bronze badges</span>",
"reputation":"456",
"displayName":"Li Xin",
"profileUrl":"https://stackoverflow.com/users/7360676/li-xin"
}
只需阅读此api返回的reputation
字段,您将获得用户的堆栈溢出信誉