解决pure 主题豆瓣图书列表不显示的问题

问题

我这个博客的主题使用的是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);
      }
    });
  }