如何从API检索用户的中级故事?

时间:2016-03-19 03:38:25

标签: medium.com

我试图将中型博客整合到应用中,方法是展示一些带有帖子图片的卡片以及指向原始媒体出版物的链接。

从Medium API文档中我可以看到如何检索出版物和创建帖子,但它没有提到检索帖子。是否正在使用中型API检索当前可能的用户的帖子/故事?

10 个答案:

答案 0 :(得分:31)

API是只写的,不用于检索帖子(中等工作人员告诉我)

您可以直接使用RSS Feed:

https://medium.com/feed/@your_profile

你只需通过GET获取RSS提要,然后如果你需要它以JSON格式,只需使用像rss-to-json这样的NPM模块,你就可以了。

答案 1 :(得分:7)

现在此URL:

https://medium.com/@username/latest?format=json

位于Cloudflare的DDoS保护服务之后,因此通常不会收到以JSON格式始终提供给您的Feed的信息,而是通常会收到一个HTML,该HTML假定将使网站完成reCAPTCHA并从API请求中获取任何数据。

以及以下内容:

https://medium.com/feed/@username

最多只能发布10个帖子。

我建议为此目的this free Cloudflare Worker。它用作立面,因此您不必担心如何从源,reCAPTCHA或分页获取帖子。

Full article

Live example。要获取以下各项,请在查询参数?next=中添加API提供的JSON字段next的值。

答案 2 :(得分:5)

使用该REST方法,您可以执行此操作:GET https://api.medium.com/v1/users/{{userId}}/publications这将返回标题,图像和项目的URL。 更多详情:https://github.com/Medium/medium-api-docs#32-publications

您还可以在“媒体”上的任何网址末尾添加“?format = json”,然后返回有用的数据。

答案 3 :(得分:2)

如果有兴趣的话,我已经使用AWS Lambda和AWS API Gateway构建了一个基本功能。在this blog post here上可以找到详细说明,在Github上可以找到使用Node.js构建的Lambda函数的存储库。希望有人在这里发现它很有用。

答案 4 :(得分:1)

(更新JS Fiddle和Clay函数解释它,因为我们更新了函数语法更清洁)

我将Github软件包@ mark-fasel包装成下面的一个Clay微服务,让你可以做到这一点:

简化退货格式:https://www.clay.run/services/nicoslepicos/medium-get-user-posts-new/code

我把一个小小的小提琴放在一起,因为用户在询问如何在HTML中使用端点来获取他们最后3个帖子的标题: https://jsfiddle.net/h405m3ma/3/

您可以将API调用为:

curl -i -H "Content-Type: application/json" -X POST -d '{"username":"nicolaerusan"}' https://clay.run/services/nicoslepicos/medium-get-users-posts-simple

您还可以使用clay-client npm包在节点代码中轻松使用它,只需编写:

Clay.run('nicoslepicos/medium-get-user-posts-new', {"profile":"profileValue"})
.then((result) => {

  // Do what you want with returned result
  console.log(result);

})
.catch((error) => {

  console.log(error);

});

希望这有用!

答案 5 :(得分:1)

将帖子作为JSON对象获取

您可以替换您的用户名,而不是@USERNAME。

https://api.rss2json.com/v1/api.json?rss_url=https://medium.com/feed/@USERNAME

答案 6 :(得分:1)

使用此网址,该网址将提供帖子的json格式
用您的供稿名称替换studytact

https://api.rss2json.com/v1/api.json?rss_url=https://medium.com/feed/studytact

答案 7 :(得分:0)

选中此项您将获得有关您自己的帖子的所有信息........

mediumController.getBlogs = (req, res) => {
    parser('https://medium.com/feed/@profileName', 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.json(200, {
            Data: stories
        })
    });

}

答案 8 :(得分:0)

{
  [
    {
      "id": "111",
      "description": "xyz"
    },
    {
      "id": "222",
      "description": "pqr"
    }
  ]
}
  

常量数据=等待MdFetch('@ chawki726');

答案 9 :(得分:0)

我创建了一个自定义 REST API 来检索 Medium 上给定帖子的统计信息,您只需要向我的自定义 API 发送一个 GET 请求,您就会以 Json 对象的形式检索统计信息,如下所示: 请求:

curl https://endpoint/api/stats?story_url=THE_URL_OF_THE_MEDIUM_STORY

回复:

{
   "claps": 78,
   "comments": 1
}

API 在合理的响应时间(< 2 秒)内响应,您可以找到有关它的更多信息 in the following Medium article.