2016-02-20 59 views
2

我需要通过api获取我的tumblr帖子。从我的Tumblr API获取帖子

我设法设置了API密钥。 我正在使用Angular2,打字稿。

我正在使用jsonp,所以我没有得到一个交叉来源问题。

这是我目前的尝试:

var config = { 
    params: { 
     action: "query", 
     prop: "revisions", 
     format: "json", 
     callback: "JSON_CALLBACK" 
    } 
    } 

    var url = "https://api.tumblr.com/v2/blog/thepoolcover.tumblr.com/posts?api_key=lqoK2G4BT9X8xnewyW0l45ky4aTKWTqQ3PzF14gefIglpIRnBz"; 

    this.jsonp.request(url, config).subscribe(response => { 

     console.log(response); 

    }); 

我没有得到一个打字稿编译器错误,但是,我得到一个浏览器异常控制台错误:

enter image description here

+0

如果你把它直接进入浏览器的URL工作正常。它返回json中的帖子。但我努力通过上面的代码来获取它。不知道我做错了什么。我已经尝试了一个标准的http获取角2,我得到了一个跨源问题。此外,在过去,我会做一个阿贾克斯调用,但我不知道如何做到这一点在angular2 – AngularM

回答

2

你请使用JSONP_CALLBACK作为回叫的名称,而不是JSON_CALLBACK和URLSeachParams用于查询RY参数:

URLSearchParams search = new URLSearchParams(); 
search.set('action', 'query'); 
search.set('prop', 'revisions'); 
search.set('format', 'json'); 
search.set('callback', 'JSONP_CALLBACK'); 

var config = { 
    search: search 
}; 

var url = "https://api.tumblr.com/v2/blog/thepoolcover.tumblr.com/posts?api_key=lqoK2G4BT9X8xnewyW0l45ky4aTKWTqQ3PzF14gefIglpIRnBz"; 

jsonp.request(url, config).subscribe(response => { 
    console.log(response); 
}); 

下面是相应的plunkr:

+0

我仍然得到相同的错误 – AngularM

+0

你也应该使用'URLSearchParams'查询参数。我更新了我的答案... –