我想为Zabbix前端创建新的API。
我在
中创建了一个文件CTestApi.php。 //get values from tab 1 table
var ss = SpreadsheetApp.getActiveSpreadsheet();
var s = ss.getSheetByName('Sheet1');
var gcls = s.getRange(6, 10, 4).getValues();
//write values in tab 2
var gSheet = ss.getSheetByName('Tracking');
var gcells = gSheet.getRange(5, 1, 4);
gcells.setValues(gcls);
我创建了一个函数
D:\xampp\htdocs\zabbix\include\classes\api\services\CTestApi.php
我正在使用邮递员来测试API。带有以下参数的localhost / zabbix / api_jsonrpc.php
public static function TestApi() {
return self::getApi('testapi');
}
结果是
{
"jsonrpc": "2.0",
"method": "testapi.get",
"params": {
"output": "extend"
},
"auth": "891692ab3070e64f9d3439278a5bbcb8",
"id": 1
}
我不知道为什么API不正确。请帮我如何向Zabbix前端添加新的API?
我正在使用PHP 7,MySQL5,Zabbix 4.0
非常感谢! BienHV
答案 0 :(得分:1)
我找到了解决这个问题的方法。
第1步::创建API服务类 例如:\ include \ classes \ api \ services \ CTestApi.php
第二步:在CApiServiceFactory.php中注册API服务工厂 例如:'testapi'=>'CTestApi'
第3步::声明函数以返回所请求API的CApiInstance对象
第4步:在CTestApi.php中编写API函数 例如:获取,发布,…方法