如何从通电中访问trello API?

时间:2017-06-07 08:09:32

标签: javascript trello trello-powerup

如何在powerup中对trello API进行查询?这似乎是一个显而易见的问题,但我似乎找不到它。

到目前为止,我的简单通电看起来像这样:

var boardButtonCallback = function(t){
  return t.popup({
    title: 'Tools',
    items: [
      {
        text: 'Hide Duplicates',
        callback: function(t){

          var cardQueryCb = function(result){
            console.log(result);
          }
          var cardQ = 'https://trello.com/1/boards/[board_id]/cards/all';
          fetch(cardQ).then(function(response) {
            return response.json();
          }).then(function(data) {
            console.log(data);
          });

          return t.cards('id', 'name')
          .then(cardQueryCb);
        }
      }
    ]
  });
};

TrelloPowerUp.initialize({
  'board-buttons': function(t, options){
    return [{
      text: 'Duplicates',
      callback: boardButtonCallback
    }];
  }
});

调用fetch后的响应对象表示该呼叫未经授权。

我原本以为在启动的上下文中调用此代码将被视为已授权。当我登录trello时,我能够将该地址放入浏览器并获得有效的响应 - 为什么javascript调用也不会产生有效的响应?

更重要的是,如何从该网址获得成功回复?

1 个答案:

答案 0 :(得分:1)

由于您的启动是通过iframe运行的,因此它实际上并非来自Trello页面,因此您需要在GET URL中指定您的API密钥和令牌。

示例:

https://api.trello.com/1/boards/560bf4298b3dda300c18d09c?fields=name,url&key={YOUR-API-KEY}&token={AN-OAUTH-TOKEN}

可以在此处找到获取API密钥和令牌的信息:https://trello.readme.io/v1.0/reference#api-key-tokens