Pinterest - 如何显示最新的图钉(图片和标题)?

Pinterest - how to display latest pin (image and title)?

我想在 Pinterest 上以类似于 Pin Widget 的格式显示最新 pin 的图像和标题,但它必须动态显示最新添加的 pin,而不是硬编码。

我需要使用 PHP,还是可以用 js 来完成?

我更喜欢 js,但我不知道如何限制 Profile 和 Board 小部件返回的 images/pins,或者为 Pin It 小部件动态加载图像。

我也尝试过 RSS 提要(使用下面的代码),但是当设置为显示 1 时,这似乎显示随机图钉(我可以删除一个图钉,它仍然会显示):

google.load('feeds', '1');

function initialize() {
var feed = new google.feeds.Feed('https://www.pinterest.com/[username]/[board]/feed.rss'); // update username

feed.setNumEntries(1); // set number of results to show

feed.load(function(result) {
        if (!result.error) {
            var container = document.getElementById('pinfeed'); // look for our display container

            for (var i = 0; i < result.feed.entries.length; i++) { // loop through results

                var entry   = result.feed.entries[i],
                content = entry.content, // get "content" which includes img element
                regex   = /src="(.*?)"/, // look for img element in content
                src     = regex.exec(content)[1]; // pull the src out, 

                // put our link to the pin with img into our container:
                container.innerHTML = '<a href="'+ entry.link + '" target="_blank"><img src="'+ src + '" /></a>';
            }
        }
});
}
google.setOnLoadCallback(initialize);

有两种方法可以做到这一点。正确的方法和黑客方法。

正确的方法是使用新的 public Pinterest API. You have a user login and then fetch their pins. You can change the fields to include all the pieces you want back. The link to get PDK is here.

PDK.login({scope:'read_public'}, function() {
    if (session) {
        PDK.me('pins', {fields: 'created_at,image,note'}, function(pins) {
            ...do something with the pins
        });
    }
});

破解方法是使用用于 Pinterest 小部件的未记录的 API。它不能保证按日期顺序排列,但通常是这样,并且可以在未来的任何时间点更改或停止存在。您可以像这样通过替换用户名和 jsonp 回调来 ping url。

https://api.pinterest.com/v3/pidgets/users/<username>/pins/?callback=<callback>