2

如何获取用户的 Stack Overflow 时间线(提要)?

如果用户想在他的网站上显示他或其他人的 Stack Overflow 时间线/提要,要遵循哪些步骤。

4

1 回答 1

1

本文档详细介绍了获取用户的 Stack Overflow 时间线(提要)的步骤。

例子:一个活生生的例子可在

https://newtonjoshua.com

Stack Overflow: Stack Overflow 是 Stack Exchange 的一个站点,它是一个问答网站网络。

http://stackexchange.com

Stack Exchange API: 我们可以使用 Stack Exchange API 返回用户/用户在网站上执行的操作的子集。

https://api.stackexchange.com/docs

时间线供稿:

https://api.stackexchange.com/docs/timeline-on-users

输入用户的id(如:6778969)查看用户的时间线。GET 请求的完整 url 如下所示,

https://api.stackexchange.com/2.2/users/6778969/timeline?site=stackoverflow

代码片段:

//You can replace the timeline_type with a detailed descrition as given below.
var timelineType = {
    accepted: 'Accepted An Answer',
    answered: 'Posted An Answer',
    asked: 'Asked A Question',
    badge: 'Earned A Badge',
    commented: 'Posted A Comment',
    reviewed: 'Reviewed A Suggested Edit',
    revision: 'Edited A Post',
    suggested: 'Suggested An Edit'
};

var formattedFeeds = [];

$.get('https://api.stackexchange.com/2.2/users/6778969/timeline?site=stackoverflow&filter=!))x30_z', function (feeds) {
        feeds.items.forEach(function (feed) {
        var formattedFeed = {};
        formattedFeed.timeline_type = timelineType[feed.timeline_type];
        formattedFeed.title = feed.title || feed.detail;
        formattedFeed.detail = feed.detail || '';
        formattedFeed.creation_date = new Date(feed.creation_date * 1000);
        formattedFeeds.push(formattedFeed); 
    });
});

您可以在您的网站中显示 formattedFeeds 的内容。

于 2016-10-11T10:30:01.153 回答