【发布时间】:2018-10-22 20:05:06
【问题描述】:
【问题讨论】:
标签: stackexchange-api dataexplorer
【问题讨论】:
标签: stackexchange-api dataexplorer
根据the linked answer 和the API docs,您无法直接从 API 获取徽章奖励时间。
要间接获得它们需要相当多的工作,这已经在该答案中进行了总结,而您没有这样做。此外,间接方法仅限于每个应用会话的单个登录用户。
也许更好的方法是使用数据资源管理器 (SEDE)。
这是获取用户徽章奖励次数的查询。
在 SEDE 上看到它的实际效果:data.stackexchange.com/stackoverflow/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
它返回如下结果:
【讨论】: