如何获得徽章奖励时间的时间戳?
Posted
技术标签:
【中文标题】如何获得徽章奖励时间的时间戳?【英文标题】:How to get the Timestamp of awarded time for badges? 【发布时间】:2018-10-22 20:05:06 【问题描述】:用什么方法来计算授予用户徽章的时间?
我按照推荐的here 尝试了通知,但我得到了:
method not available
【问题讨论】:
【参考方案1】:根据the linked answer 和the API docs,您无法直接从 API 获取徽章奖励时间。 要间接获得它们需要相当多的工作,这已经在该答案中进行了总结,而您没有这样做。此外,间接方法仅限于每个应用会话的单个登录用户。
也许更好的方法是使用数据资源管理器 (SEDE)。
这是获取用户徽章奖励次数的查询。 在 SEDE 上看到它的实际效果:data.stackexchange.com/***/query/851077/...
-- UserId: User ID "Enter a user's ID."
SELECT u.Id AS [User Link]
, CASE
WHEN b.Tagbased = 1 THEN 'Tag: [' + b.Name + ']'
ELSE b.Name
END AS [Badge name]
, CASE
WHEN b.Class = 1 THEN 'Gold'
WHEN b.Class = 2 THEN 'Silver'
WHEN b.Class = 3 THEN 'Bronze'
ELSE '*Unkown*'
END AS [Class]
, b.Date AS [Awarded]
FROM Badges b
LEFT JOIN Users u ON u.Id = b.Userid
WHERE b.Userid = ##UserId:int##
ORDER BY u.Displayname
, [Awarded] DESC
它返回如下结果:
用户链接徽章名称等级授予 列纳克《编辑》《青铜》《2018-05-02 10:04:38》 列纳克《保管人》《青铜》《2018-05-02 09:49:36》 列纳克《同侪压力》《铜牌》《2018-04-26 22:18:46》 列纳克《知情》《青铜》《2018-04-26 20:38:26》【讨论】:
以上是关于如何获得徽章奖励时间的时间戳?的主要内容,如果未能解决你的问题,请参考以下文章