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>
我想在 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>