2012-04-05 70 views

回答

3

這不是JSON,那對JSONP一個奇怪十歲上下服食。

如果用src集添加<script />標籤http://clintonbeattie.tumblr.com/bio/json,全局變量tumblr_api_read將指向與響應信息的對象;

var tumblr_api_read = { 
    "tumblelog": { 
     "title": "First Title", 
     "description": "", 
     "name": "clintonbeattie", 
     "timezone": "US\/Eastern", 
     "cname": false, 
     "feeds": [] 
    }, 
    "posts": [{ 
     "id": null, 
     "url": "", 
     "url-with-slug": "", 
     "type": "regular", 
     "date-gmt": " GMT", 
     "date": "Wed, 31 Dec 1969 19:00:00", 
     "bookmarklet": null, 
     "mobile": null, 
     "feed-item": "", 
     "from-feed-id": 0, 
     "unix-timestamp": 1333622193, 
     "format": "html", 
     "reblog-key": "TmN3ujDJ", 
     "slug": "", 
     "regular-title": "", 
     "regular-body": "" 
    }] 
}; 

因此做這樣的事情;

<script src="http://clintonbeattie.tumblr.com/bio/json"></script> 
<script> 
    // Use tumblr_api_read. 

    alert(tumblr_api_read.tumblelog.title); // Shows "First Title" 

    for (var i=0;i<tumblr_api_read.posts.length;i++) { 
     var thisPost = tumblr_api_read.posts[i]; 

     alert("This post was created at " + thisPost.date); 
    } 
</script> 
+0

這似乎並不奏效。警報從不發生。在Chrome開發欄中檢查了資源並指出取消請求已被取消。 – Crashdesk 2012-04-05 14:42:22

+0

我的頭只是爆炸閱讀他們的API文檔。 – 2012-04-05 14:42:34

+0

@Crashdesk:嗯,看起來服務器會返回一個404,如果你的起源頭是他們不喜歡的東西的話......看着這個API,這似乎不是一個記錄的端點......你從哪裏得到的這個網址來自? http://www.tumblr.com/docs/en/api/v2 – Matt 2012-04-05 14:44:43

2

從他們API docs

JSON輸出

通過使用/ API /讀/ JSON而不是/ API /讀取調用讀取API時,輸出將被作爲JSON分配給名爲tumblr_api_read的Javascript變量。

不是 JSON,甚至JSONP。他們正在返回文字JavaScript。因此,你必須遵循他們的文檔,做:

<script type="text/javascript" src="http://clintonbeattie.tumblr.com/api/read/json"></script> 

這將創建一個名爲tumblr_api_read一個全局變量(即window.tumblr_api_read)是一個對象字面。

由於您使用jQuery,你可以做到以下幾點:

$.getScript("http://clintonbeattie.tumblr.com/api/read/json", function(script, textStatus, jqXHR) { 
    console.log(window.tumblr_api_read.tumblelog.title); 
}); 

令人驚異的是我,這些傢伙可以在其文檔中鏈接到json.org,但搞砸了這個厲害。

+0

謝謝。它真的搞砸了,這就是讓我感到困惑的東西。我仍然無法找到我創建的生物頁面的Feed。 – Crashdesk 2012-04-05 14:57:53

+1

閱讀文檔[在底部](http://www.tumblr.com/docs/en/api/v1)。您的網頁不會顯示,因爲您只能使用JSON獲取帖子。但是,您可以使用XML獲取頁面:http://(YOU)。tumblr.com/api/pages – PHearst 2013-03-06 14:40:13