如何用curl调用Mastodon API获取用户帖子?请求报错排查
Mastodon API调用返回"Record not found"的问题排查
问题场景
已在目标Mastodon服务器创建API密钥,执行以下两条curl命令尝试获取用户Tweakers的帖子:
curl -k -X GET -H "Authorization: Bearer KEY" "https://mastodon.social/api/v1/statuses/:Tweakers"
curl -k -X GET -H "Authorization: Bearer KEY" "https://mastodon.social/api/v1/statuses/Tweakers"
均返回错误:
{"error":"Record not found"}
问题原因及解决步骤
你误用了API端点,且混淆了「状态ID」和「用户名」的用途:
api/v1/statuses/端点的作用是获取单条指定ID的帖子,它需要传入的是帖子的数字ID,而非用户名,所以用用户名访问这个端点必然找不到对应记录。- 若要获取某个用户的所有帖子,需要使用
/api/v1/accounts/:id/statuses端点,且必须先通过用户名查询到该用户的账号ID。
正确的操作流程如下:
- 查询目标用户的账号ID
使用/api/v1/accounts/lookup端点,传入用户名参数:
curl -k -X GET -H "Authorization: Bearer KEY" "https://mastodon.social/api/v1/accounts/lookup?acct=Tweakers"
返回结果中会包含id字段(例如123456),这就是该用户的账号ID。
- 通过账号ID获取用户帖子
将上一步得到的账号ID替换到/api/v1/accounts/:id/statuses端点中:
curl -k -X GET -H "Authorization: Bearer KEY" "https://mastodon.social/api/v1/accounts/123456/statuses"
执行这条命令就能获取该用户的帖子列表了。
内容的提问来源于stack exchange,提问作者Alex van Es
相关产品推荐
相关产品推荐

