如何按标签过滤博客提要
How do I filter a Blogger feed by label?
我正在使用Google的Blogger API从我的Blogger博客中检索项目以显示在我的主页上。我使用的是在Blogger开发者博客上提供的Javascript。我想做的是过滤由label返回的条目。我做了很多搜索,但是,尽管看起来这应该很简单,我还没有找到任何明确的方向。
检索Blogger条目的代码如下所示:
function init() {
// Get your API key from http://code.google.com/apis/console
gapi.client.setApiKey('xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx');
// Load the Blogger JSON API
gapi.client.load('blogger', 'v3', function() {
// Load the list of posts for code.blogger.com
var request = gapi.client.blogger.posts.list({
'blogId': 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
'fields': 'items(content,title,updated,id,labels)',
'fetchBodies': true
});
request.execute(function(response) {
var blogger = document.getElementById("blogger");
var anchor = 0;
for (var i = 0; i < response.items.length; i++)
{
var bloggerDiv = document.createElement("div");
bloggerDiv.id = "blogger-" + i;
bloggerDiv.className = "bloggerItem";
// For the parts of the response, have a look at the result at:
// http://code.google.com/apis/explorer/#_s=blogger&_v=v2&_m=posts.list&blogId=xxxxxxxxxxxxx
$(bloggerDiv).append("<h2>" + response.items[i].title + "</h2>");
var date = response.items[i].updated;
date = date.replace("T", " ");
date = date.replace("+03:00", "");
var printDate = new moment(date);
$(bloggerDiv).append("<p><span class='byline'>" + printDate.format('dddd, MMMM Do YYYY, h:mm:ss a') + "</span></p>");
$(bloggerDiv).append(response.items[i].content);
// This logic might be useful to keep around if I decide to do
// something different based on whether or not the last item
// needs different formatting in some way.
// if (i+1<response.items.length) {
// $(bloggerDiv).append("<hr>");
// }
// $(bloggerDiv).append("<hr>");
bloggerAnchor = document.createElement("a");
bloggerAnchor.name = "blogger-" + response.items[i].id;
blogger.appendChild(bloggerAnchor);
blogger.appendChild(bloggerDiv);
anchor = anchor + 1;
}
// find out which anchor the user wanted...
var hashVal = window.location.hash.substr(1);
// ... then jump to that position:
location.hash = "#" + hashVal;
});
});
}
返回博客上的所有内容。如何让它只返回label="XYZ"
的条目?
我认为这将是现在回答,但我在SO上发现的一个问题似乎相关包含链接,现在已经死了,所以他们持有的任何信息现在是不可用的。
终于找到了。结果这和我想的一样简单。
我所要做的就是将这行代码添加到请求部分:
var request = gapi.client.blogger.posts.list({
'blogId': 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
'fields': 'items(content,title,updated,id,labels)',
'labels': 'XYZ',
'fetchBodies': true
});
让我困惑的是这个字段是'labels',复数,而不是'label',单数。此外,出于某种原因,"标签"规范似乎必须出现在"fetchBodies"之前,否则代码会失败。我不知道为什么会这样,但这就是我的经历。
相关文章:
- 按值名称过滤掉重复的对象,并将其放入新数组中
- 如何按数组/对象值的倍数过滤对象数组
- 按功能过滤 ng 重复
- 使用 ng 模型按键入(键,值)对过滤
- 使用同位素插件,我可以按字符串名称过滤并使图像重叠吗?
- 按AngularJS中名字的第一个字母过滤人员列表
- 我如何在angularJS中实现按url值过滤
- 在JavaScript中,按日期和之后的名称过滤数组
- 如何在Leaflet.js中按属性过滤TopoJSON功能
- 如何在AngularJS中按变量过滤列表
- 在AngularJS中按数字过滤数组
- 按angularjs中的多种尺寸过滤产品
- 按权重过滤节点并更改属性
- YouTube V3 API——按持续时间过滤相关视频信息,不;似乎不起作用
- Jquery Datatables没有't按显示长度过滤行
- ExtJS 6按姓氏或中间名过滤网格的存储
- 如何在 Angular js 中按日期过滤数据
- 按最近的位置过滤WordPress帖子
- 按输入日期过滤 ng 重复
- AngularJS:如何使用$filter按两个表达式进行过滤