0

我使用 Jive,我想获取所有类别,对于每个类别,我想为每个类别创建一个复选框。目前,我的数组包含所有类别,但是当我尝试创建复选框时,它返回此错误:“未捕获传递的 URI 不匹配”/places/{uri}“:/api/core/v3/places/”有人可以帮助我吗?

///////////////// function checkbox for each category ////////////////

$("#submit_a_question").click(function(e) {
        e.preventDefault();
        $("#modal").addClass('is-show');
        $("#ideasContainer").height((height + 100) + "px");
        resizeIframe();

        fieldsPlaceholder(appLang);
		var categoriesToShow = categories(placeID);
		var container = $('#listCheckboxCategories');
		var listCheckboxCategories = $('#listCheckboxCategories');
		var CheckboxCreate = $('input />', {type: 'checkbox'});
	if(tileConfig.isThereFilterRadios == "Yes"){
			$('#ShowCategories').show();
			$('#listDropdownCategories').show();
			$.each(categoriesToShow.res, function(index, value) {

				CheckboxCreate.appendTo(container);	
			});
	} 
  
  
  ///////// function to get all categories in an array /////////
  
  	function categories(placeID){
	var request = osapi.jive.corev3.places.get({
	uri : '/api/core/v3/places/' + placeID 
	});
	// var res = [];
		
	request.execute(function(response) {
		if (typeof response.error != 'undefined') {
			console.log("API call failed");
		} else {
			console.log(response);
			response.getCategories().execute(
				function (res){ 
					console.log("cat",res);
				}); 
	    }
	});
}

4

1 回答 1

0

通过在 URI 中使用“/places/{placeId}”,我能够成功执行调用,如下所示:

osapi.jive.corev3.places.get({uri: '/places/1003'}).execute(function(response) { 
    console.log(response); 
});

正如预期的那样,我在响应中收到了 place 对象:

{ type: "space", 
  parent: "http://localhost:8080/api/core/v3/places/1000", 
  placeTopics: Array(0), 
  displayName: "water-cooler", 
  iconCss: "jive-icon-space", …}

您确定您的“placeId”具有正确的值吗?也许在拨打电话之前记录您发送的 URI,并检查格式是否与我上面提到的格式匹配。谢谢。

于 2018-08-03T12:30:48.650 回答