Stackoverflow声誉

时间:2015-08-05 08:03:03

标签: stackexchange-api

我正在尝试在项目中显示用户的Stack Overflow信誉。我有用户电子邮件。因此,通过用户电子邮件作为输入,我可以获得用户的Stack Overflow声誉吗?

现在我尝试使用Javascript SDK。使用Stack Overflow的身份验证方法。在这种情况下,用户必须登录Stack Overflow,然后我才能获得用户的Stack Overflow id和声誉。

  1. 我是否可以获得未经身份验证通过其emailid的用户的Stack Overflow信誉?
  2. 每次在Stack Overflow中更改其声誉时,我是否有选择在我的网站中自动更新其Stack Overflow声誉值?

2 个答案:

答案 0 :(得分:12)

出于隐私原因,堆栈exchange-api中没有电子邮件地址。它们在data explorerdatadumps中均不可用。 据我所知,您将无法根据电子邮件地址查询数据库。

通过身份验证,您可以根据用户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\">&#9679;</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\">&#9679;</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字段,您将获得用户的堆栈溢出信誉