Trello POST FAIL

时间:2017-02-15 18:08:12

标签: post trello trello.net

我想使用以下链接的post方法:https://developers.trello.com/advanced-reference/checklist#post-1-checklists-idchecklist-checkitems

我知道我必须在指定的清单中添加一个元素,但我不知道为什么我没有创建新元素。

我的代码:

function formatInfoWindow(place) {

  var img = place.photos[0];

  var infos = {
    name: place.name,
    open: place.opening_hours.open_now,
    address: place.vicinity,
    phoneI: place.international_phone_number,
    phone: place.formatted_phone_number,
    rating: place.rating,
    reviewAuth: place.reviews[0].author_name,
    reviewText: place.reviews[0].text,
    reviewRate: place.reviews[0].rating,
    website: place.website,

    photo: img.getUrl(),
    info: this.info
  };


  var contentTemplate = '<div class="infowindow"><strong><h1>##name##</h1></strong>' +
    '<address>##address##</address>' +
    '<p>Open Now: ##open##&nbsp;&nbsp;&nbsp; Rating: ##rating##&nbsp;&nbsp;&nbsp; ' + '<a href="##website##">Website</a></p>' +
    '<p><a href="tel:##phoneI##">##phone##</a></p>' +
    '<h3><b>Notes:</b></h3>' +
    '<p>##info##</p>' +
    '<h4>##reviewAuth##&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Rating: ##reviewRate##</h4>' +
    '<p>##reviewText##</p>' +
    '<img src="##photo##"></img>' +
    '</div>';

  var content = contentTemplate.replace(/##(.*?)##/g, function(match, prop) {
    return infos[prop] || "";
  });


  this.infowindow.setContent(content);
  this.infowindow.open(map, this);
}

我不知道https://api.trello.com/1/checklists/[idChecklist]/checkItems?name=[NAME_NEW_ELEMENT]&key=[TRELLO_KEY]&token=[MY_TOKEN] 是否正确。 如何编写它来添加元素? 提前谢谢。

2 个答案:

答案 0 :(得分:0)

网址中没有name=...。我用JavaScript测试了一些POST,效果很好。您可以在任何浏览器中测试此代码。

var CL_ID = "YOUR CHECKLIST ID"
var API_KEY = "YOUR TRELLO API KEY";
var TOKEN = "YOUR TRELLO TOKEN";

var payload = {"name": 'item4'};
var blob = new Blob([JSON.stringify(payload)], {type: 'application/json'});
var url = 'https://api.trello.com/1/checklists/'+CL_ID+'/checkItems?key='+API_KEY+'&token='+TOKEN;

var xhttp = new XMLHttpRequest();
xhttp.open("POST", url, true);
xhttp.onload = function() {
  if(xhttp.status === 200) {
    var response = xhttp.responseText;
    console.log(response);
  }
};
xhttp.send(blob);

答案 1 :(得分:0)

目前尚不清楚你想做什么。你想要A.创建一个新的清单?或B.将项目添加到现有清单?

如果A使用this,则B使用this