如何使用 Medium API 检索用户的帖子?
该文档显示了POST
创建博客文章的端点,但GET
对相应端点的请求会导致错误。
您可以使用 RSS 提要获取用户的帖子:
https://medium.com/feed/@user_name
使用 Medium API v1(当前)无法检索用户或发布的帖子。中型员工告诉我这是故意只写的。可以列出一些内容,例如贡献者和出版物,但不能列出帖子及其内容。在这种情况下将使用 RSS 提要。
例如,流行的个人资料:
https://medium.com/feed/@vanschneider
您还可以将其与出版物一起使用:
https://medium.com/feed/desk-of-van-schneider
这是一个使用 Express 和parse-rss NPM 模块的示例:
var parser = require('parse-rss');
router.get('/blog', function(req, res, next) {
parser('https://medium.com/feed/@vanschneider', function(err, rss)
{
if (err) {
console.log(err);
}
var stories = [];
for (var i = rss.length - 1; i >= 0; i--) {
var new_story = {};
new_story.title = rss[i].title;
new_story.description = rss[i].description;
new_story.date = rss[i].date;
new_story.link = rss[i].link;
new_story.author = rss[i].author;
new_story.comments = rss[i].comments;
stories.push(new_story);
}
console.log('stories:');
console.dir(stories);
res.render('somepage',
{
stories: stories,
});
});
});
无法枚举现有草稿或已发布帖子的列表,例如交叉发布到另一个服务或将您的帖子备份到本地存档。
但!https://github.com/lambtron/medium-cli 你可以在这里查找解决方案:3
在这里回答了这个问题。总结如下:
我创建了一个 Clay 微服务,使您能够做到这一点:
https://clay.run/services/nicoslepicos/medium-get-users-posts
您可以将 API 调用为:
curl -i -H "Content-Type: application/json" -X POST -d '{"username":"nicolaerusan"}' https://clay.run/services/nicoslepicos/medium-get-users-posts
您还可以使用 clay-client npm 包在您的节点代码中轻松使用它,只需编写:
Clay.run('nicoslepicos/medium-get-users-posts', {"username":"usernameValue"})
.then((result) => {
// Do what you want with returned result
console.log(result);
})
希望这会有所帮助!