如何获取特定用户的堆栈溢出声誉



我试图在我的项目中显示用户的堆栈溢出声誉。我有用户邮箱。所以用用户的电子邮件作为输入,我可以得到用户的Stack Overflow声誉吗?

现在我尝试使用Javascript SDK。使用的堆栈溢出认证方法。在这种情况下,用户必须登录到Stack Overflow,然后我得到用户的Stack Overflow id和声誉。

  1. 我可以得到Stack Overflow信誉的用户传递他的电子邮件id没有身份验证?
  2. 每次当他的声誉在Stack Overflow中发生变化时,是否有任何选项可以让我在我的网站中自动更新他的Stack Overflow声誉值?

出于隐私原因,电子邮件地址在堆栈交换api中不可用。它们在数据资源管理器或数据堆中都不可用。据我所知,您无法根据电子邮件地址查询数据库。

通过身份验证,您可以根据用户的id或使用/me功能找到用户。

关于声望的更新,我认为您可以使用cron作业每天更新声望。

根据您想要如何表示声誉,您还可以考虑使用Stack Exchange本身提供的Flair选项。Flairs是一些小图片,描绘了用户的概要,并显示了他/她的声誉。这些图片由SE每24-36小时更新一次,可通过以下网址访问:https://stackoverflow.com/users/flair/user_id_here.png

你可以通过stack overflow api获取用户的信誉:

https://stackoverflow.com/users/flair/<user_id>.json

,它返回一个json字符串(以我自己为例)

{
  "id":7360676,
  "gravatarHtml":{},
  "badgeHtml":"<span title="3 silver badges" aria-hidden="true"><span class="badge2">&#9679;</span><span class="badgecount">3</span></span><span class="v-visible-sr">3 silver badges</span><span title="14 bronze badges" aria-hidden="true"><span class="badge3">&#9679;</span><span class="badgecount">14</span></span><span class="v-visible-sr">14 bronze badges</span>",
  "reputation":"341",
  "displayName":"Justin Lee",
  "profileUrl":"https://stackoverflow.com/users/7360676/justin-lee"
}

简单地从这个api的返回中读取reputation字段,您将获得用户的堆栈溢出声誉

相关内容

  • 没有找到相关文章

最新更新