如何获取用户获得徽章时的Timestamp?
获取用户徽章获得时间的解决方案
嘿,我来帮你搞定这个问题!你之前尝试的那个notification接口现在确实不能用了——Stack Exchange API后来调整了接口权限和可用范围,那个方法已经被废弃,所以才会返回method not available的报错。
给你个靠谱的替代方案,用官方支持的用户徽章列表接口,步骤如下:
- 调用Stack Exchange API的
/users/{用户ID}/badges端点,请求格式类似:GET /2.3/users/{your_user_id}/badges?site=stackoverflow - 返回的响应里,每个徽章对象都会包含
awarded_date字段,这个就是徽章的获得时间(是Unix时间戳,你可以转换成常规日期格式使用)
举个简单的返回示例片段:
{ "items": [ { "badge_id": 1, "name": "Autobiographer", "awarded_date": 1620000000, // 其他徽章信息... } ] }
这个接口是公开可用的,只要用户的徽章信息是公开的,不需要额外权限就能调用。如果需要获取自己的私密徽章(比如某些特殊权限的徽章),可能需要带上API密钥和用户授权,但大部分普通徽章用这个接口就能拿到时间啦。
内容的提问来源于stack exchange,提问作者Elfan
相关产品推荐
相关产品推荐

