少しの検索の後、最終的に答えがそこにあることがわかりましたが、私は注意深く見ていませんでした。特定の期間の投稿を検索する場合は、search:postsの操作ではなく、list:postsの操作をクエリします。たとえば、我々は次の形式のリクエストURLを送るOctober 2, 2016
からSeptember 7, 2017
に検索したい場合:
https://www.googleapis.com/blogger/v3/blogs/{blogID}/posts? startDate=2016-10-02T00:00:00z&endDate=2017-09-07T00:00:00z &callback=handleResponse&key={our_received_key}
handleResponse
は、応答が正常に受信されたときに呼び出されるコールバック関数です。上記のURLクエリは、掲載結果に影響を与える可能性のある投稿の本文をも受け取るため、効果がありません。またページネーションを使用する必要があります。最初はを設定することで達成され、2番目はmaxResults
とpageToken
を使用して達成されます。
上記のコメントをカプセル化簡略化スクリプトがあってもよい。
<!DOCTYPE html>
<html>
<head>
<title>Blogger API Example</title>
</head>
<body>
<div id="content"></div>
<script>
function handleResponse(response) {
var post = "";
for (var i in response.items)
{
document.getElementById("content").innerHTML += "<a href=\"" + response.items[i].url +
"\">" + response.items[i].title + "</a>" + "<br/>";
}
}
</script>
<script src='https://www.googleapis.com/blogger/v3/blogs/35636577512/posts?startDate=2016-10-02T00:00:00z&endDate=2017-09-07T00:00:00z&maxResults=10&fetchBodies=false&callback=handleResponse&key=RTza3456gfhf_Q345fgh'></script>
</body>
</html>
ポストの総数が次に例では10であるmaxResults、nextPageToken
意志よりも大きい場合response.nextPageToken
で検索して次のurlクエリに格納することができます。
https://www.googleapis.com/blogger/v3/blogs/35636577512/posts?startDate=2008-10-02T00:00:00z&endDate=2016-09-06T17:30:00z&pageToken=dfgdfRtdfdf234rT&fetchBodies=false&callback=handleResponse&key=RTza3456gfhf_Q345fgh'