如何使用Medium API检索用户的帖子?
文档显示了创建博客帖子的POST
端点,但对相应端点的GET
请求会导致错误。
答案 0 :(得分:3)
您可以使用RSS Feed获取用户的帖子:
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,
});
});
});
答案 1 :(得分:1)
无法枚举现有草稿或已发布帖子的列表,例如交叉到另一个服务或将你的帖子备份到本地档案。
BUT! https://github.com/lambtron/medium-cli 你可以在这里查找解决方案:3
答案 2 :(得分:0)
通过here回答了这个问题。摘要如下:
我创建了一个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);
})
希望这有用!