如何获取徽章奖励时间的时间戳?
How to get the Timestamp of awarded time for badges?
哪种方式可以计算授予用户徽章的时间?
我尝试了推荐的通知 here 但我得到:
method not available
根据the linked answer and the API docs,您不能直接从API获得徽章奖励次数。
要间接获得它们需要做一些工作,该答案中已经对此进行了总结,而您没有这样做。此外,间接方法仅限于每个应用程序会话的单个登录用户。
也许更好的方法是使用数据资源管理器 (SEDE)。
这里查询获取用户的徽章奖励次数.
在 SEDE 查看它的实际应用:data.stackexchange.com/Whosebug/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
它 returns 结果如下:
User Link Badge name Class Awarded
Lenak "Editor" "Bronze" "2018-05-02 10:04:38"
Lenak "Custodian" "Bronze" "2018-05-02 09:49:36"
Lenak "Peer Pressure" "Bronze" "2018-04-26 22:18:46"
Lenak "Informed" "Bronze" "2018-04-26 20:38:26"
哪种方式可以计算授予用户徽章的时间?
我尝试了推荐的通知 here 但我得到:
method not available
根据the linked answer and the API docs,您不能直接从API获得徽章奖励次数。
要间接获得它们需要做一些工作,该答案中已经对此进行了总结,而您没有这样做。此外,间接方法仅限于每个应用程序会话的单个登录用户。
也许更好的方法是使用数据资源管理器 (SEDE)。
这里查询获取用户的徽章奖励次数.
在 SEDE 查看它的实际应用:data.stackexchange.com/Whosebug/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
它 returns 结果如下:
User Link Badge name Class Awarded Lenak "Editor" "Bronze" "2018-05-02 10:04:38" Lenak "Custodian" "Bronze" "2018-05-02 09:49:36" Lenak "Peer Pressure" "Bronze" "2018-04-26 22:18:46" Lenak "Informed" "Bronze" "2018-04-26 20:38:26"