问题
我这个博客的主题使用的是cofess 的 pure 主题,然后我发现他的这个图书调用的豆瓣的 API 出现了 403
我们发现这个主题的博主博客豆瓣的请求的地址是
1 | https://api.douban.com/v2/book/user/cofess/collections?callback=jQuery11240493909278846661_1584706729547&start=0&count=100&_=1584706729548 |
Google 一番,发现豆瓣停止了免费 api 的使用,但是如果以前申请过 api 的可以使用,于是我找了个配上发现可以正常调用了
解决
只需要在这个请求地址加上个apikey
这个参数即可,如下所示
1 | https://api.douban.com/v2/book/user/173665529/collections?apikey=0df993c66c0c636e29ecbb5344252a4a&callback=jQuery112407121583411878931_1584706858420&start=0&count=100&_=1584706858421 |
那怎么加呢,找到 pure->_script->douban.ejs
,找到如下这段,将 var url =
这里的 API 地址修改下加上 apikey
即可
代码如下:
// Ajax 获取豆瓣书单数据,数据格式json
function loadDoubanCollections() {
var _this = this;
// https://api.douban.com/v2/book/user/:name/collections?start=0&count=100
var url = "https://api.douban.com/v2/book/user/<%= theme.douban.user %>/collections?apikey=0df993c66c0c636e29ecbb5344252a4a"
$.ajax({
url: url,
type: 'GET',
data: {
start:<%= theme.douban.start %>, // 从哪一条记录开始
count:<%= theme.douban.count %> // 获取豆瓣书单数据条数
},
dataType: 'JSONP', //here
success: function(data) {
// console.log(data);
onLoadDouban(data);
}
});
}