(Reddit API)如何使用snoowrap获取用户订阅的subreddits列表?

时间:2017-12-25 19:28:32

标签: javascript google-chrome-extension reddit

所以我使用snoowrap编写Chrome扩展程序,获取用户订阅的subreddits列表,并在其他帐户上订阅它们。

我正在尝试获取目前的subreddits列表,但无法弄清楚如何做到这一点。我试过简单地从https://www.reddit.com/subreddits/mine.json获取JSON,它返回一个空对象(可能因为没有auth),我不知道如何通过snoowrap来做。我查看了文档,找不到它的选项。

我的代码:

document.addEventListener('DOMContentLoaded', function() {

  var login = document.getElementById('login');
  login.addEventListener('click', function() {
    const r = new snoowrap({
      userAgent: '???',
      clientId: '<id>',
      clientSecret: '<clientsecret>',
      username: '<username-here>',
      password: '<password-here>'
    });

    r.getHot().map(post => post.title).then(console.log);
  });

  var getSubs = document.getElementById('get-subs');
  getSubs.addEventListener('click', function() {

    fetch('https://www.reddit.com/subreddits/mine.json')
      .then(function(data) {
          console.log(JSON.stringify(data));
      })
      .catch(function(error) {
        console.log('error');
      });

  });
});

不确定如何尝试。有人有建议吗?我想在理想情况下使用snoowrap。

1 个答案:

答案 0 :(得分:0)

将snoowrap用作API包装器时,请使用以下命令连接到api:

const r = new snoowrap({...});

它们提供了获取您自己订阅的子reddit的功能:

r.getSubscriptions();

这将返回一个Listing对象,您可以像使用数组一样使用它。