2014-07-25 4 views
0

Google의 Blogger API를 사용하여 Blogger 블로그에서 항목을 검색하여 내 홈페이지에 표시하고 있습니다. 나는 Javascript made available on the Blogger Developer's Blog을 사용하고있다. 내가 할 수있는 일은 레이블로 반환되는 항목을 필터링하는 것입니다. 나는 많은 검색을 해왔지만, 비록 이것이 단순해야한다고해도, 명확한 지시를 찾지 못했습니다. 블로거 항목을 검색 할 수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"?

나는 이것이 지금까지 답변 될 것이라고 생각했지만, 관련있는 것으로 보이는 the one question I found on SO은 현재 죽어있는 링크를 포함하고 있으므로, 그들이 보유한 정보는 현재 사용할 수 없다.

답변

2

마지막으로 발견했습니다. 이것이 내가 생각한 것처럼 쉬운 것으로 밝혀졌습니다.

내가해야 할 일을했을 모든 요청 섹션에 코드 줄을 추가했다 :

var request = gapi.client.blogger.posts.list({ 
     'blogId': 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxx', 
     'fields': 'items(content,title,updated,id,labels)', 
     'labels': 'XYZ', 
     'fetchBodies': true 
    }); 

필드 '라벨', 복수가 아닌 '라벨'이라고했다 나를 넘어 가지의 커플, 단수형. 또한 어떤 이유에서 'labels'스펙이 'fetchBodies'보다 먼저 나오거나 코드가 실패한 것으로 보입니다. 왜 그렇게 될지 모르겠지만 내 경험이었습니다.

관련 문제