Google Feeds APIを使用して、Facebookからの最新の投稿を表示しています。
彫像はfbrss.comのXMLファイルからのものであり、以下に示すこのコードは正常に機能します。
<script type="text/javascript">
google.load("feeds", "1")
$.ajax({
url : document.location.protocol + '//ajax.googleapis.com/ajax/services/feed/load?v=1.0&num=3&callback=?&q=' + encodeURIComponent('feedhere.xml'),
dataType : 'json',
success : function (data) {
if (data.responseData.feed && data.responseData.feed.entries) {
$.each(data.responseData.feed.entries, function (i, e) {
console.log("------------------------");
console.log("postContent : " + e.title);
console.log("link : " + e.link);
console.log("date: " + e.publishedDate);
});
;
}
}
});
</script>
予想通り、コンソールからの応答
postContent : Example post, just testing our facebook news right now!
link : https://www.facebook.com/LINKTOPOST
date: Fri, 04 Apr 2014 23:54:02
------------------------
postContent : We're getting ready to launch our new website! Stay tuned for more updates and more info. We're very excited.
link : https://www.facebook.com/LINKTOPOST
date: Fri, 04 Apr 2014 23:06:59 -0700
今、私はjsonDataをそのようにdivに追加しようとしましたが、正しく行っていなかったと思います。
if (data.responseData.feed && data.responseData.feed.entries) {
$.each(data.responseData.feed.entries, function (i, e) {
window.NewsPost = e.title;
console.log("------------------------");
console.log("postContent : " + e.title);
console.log("link : " + e.link);
console.log("date: " + e.publishedDate);
});
}
$("#facebookrss").append("<div>Test" + NewsPost +"</div>");
}
});
それ以外で使用できるように、グローバル変数を割り当てました。しかし、#facebookrssdiv内に何も表示されません。
日付と投稿コンテンツを別々のdivに入れようとしています。投稿コンテンツはリンクにラップされているので、Facebookページにアクセスできます。
また、日付を「MM--DD」として解析しようとしています。Google Feeds APIはあまり具体化されていないようですが、私はjavascriptにも非常に慣れていません。
何でも助けてくれる人に感謝します。
編集:それをうまく解決しました、ありがとうCACKHAROT。以下は、フォーマットに適合する私の最終コードであり、より良いフォーマットの日付が含まれています。
$.ajax({
url : document.location.protocol + '//ajax.googleapis.com/ajax/services/feed/load?v=1.0&num=3&callback=?&q=' + encodeURIComponent('feedhere.xml'),
dataType : 'json',
success : function (data) {
if (data.responseData.feed && data.responseData.feed.entries) {
$.each(data.responseData.feed.entries, function (i, e) {
window.NewsPost = e.title;
console.log("------------------------");
console.log("postContent : " + e.title);
console.log("link : " + e.link);
console.log("date: " + e.publishedDate);
// construct div tag to have the new post details
var date = new Date(e.publishedDate);
monthNames =
[ 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun',
'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec' ];
datemonth = monthNames[ date.getMonth() ];
dateday = date.getDay();
var construct_news = '<div class="facebook-feed">';
construct_news += '<div class="left">';
construct_news += '<div class="footer-circle-large">';
construct_news +='<div class="month">' + datemonth + '</div>';
construct_news += '<div class="day">' + dateday + '</div>';
construct_news += '</div>';
construct_news += '</div>';
construct_news += '<div class="right">';
construct_news += '<div>';
construct_news += '<span class="facebook-update"><a target="_blank" href="'+ e.link+'">' + e.title + '</a></span>';
construct_news += '</div>';
construct_news += '</div>';
construct_news += '</div>';
$("#facebookrss").append(construct_news); // append it to rss div
});
}
}
});
これを試して
if (data.responseData.feed && data.responseData.feed.entries) {
$.each(data.responseData.feed.entries, function (i, e) {
window.NewsPost = e.title;
console.log("------------------------");
console.log("postContent : " + e.title);
console.log("link : " + e.link);
console.log("date: " + e.publishedDate);
// construct div tag to have the new post details
var new_post_tag = '<div>';
new_post_tag += '<h4>' + e.title + '</h4>';
new_post_tag += '<p>' + e.link + '</p>';
new_post_tag += '<p>' + e.publishedDate + '</p>';
new_post_tag += '</div>';
$("#facebookrss").append(new_post_tag); // append it to rss div
});
}
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加