2017-01-22 17 views
0

Я пытаюсь настроить модуль teamspeak 3 для моего сайта WHMCS.API-интерфейс Teamspeak 3 «Невозможно GET /»

Я сделал все правильно в соответствии с учебным пособием. Но у меня также есть API, закодированный в узле, который работает с модулем. Когда я обращаюсь к 0.0.0.0:3000 Я получаю сообщение об ошибке «Can not GET /» Мой брандмауэр выключен, поэтому он не может быть заблокированным портом. Это мой api.js

"use strict"; 
var sqlite3 = require('sqlite3').verbose(); 
var db = new sqlite3.Database('tsdns.sqlite'); 
var express = require('express'); 
var app = express(); 
var config = require('./config.json'); 

db.serialize(function() { 
    db.run("CREATE TABLE IF NOT EXISTS zones (id integer primary key, zone varchar(100),target varchar(50))"); 
}); 

app.get('/list', function (req, res) { 
    if(req.headers.authorization == config.api_key){ 
    var zone = req.params.zone; 
    db.all("SELECT * FROM zones", function(err, rows) { 
     res.send('{"result":"success","message":' + JSON.stringify(rows) + '}'); 
    }); 
    }else{ 
    res.statusCode = 403; 
    res.send('{"result":"error","message":"Invalid auth token"}'); 
    } 
}); 

app.get('/add/:zone/:target', function (req, res) { 
    if(req.headers.authorization == config.api_key){ 
    var zone = req.params.zone; 
    var target = req.params.target; 
    var sql = "INSERT INTO zones(zone,target) VALUES(?,?)"; 
    var stmt = db.prepare(sql,zone,target); 
    stmt.run(); 
    stmt.finalize(); 
    res.statusCode = 201; 
    res.send('{result:"success"}'); 
    }else{ 
    res.statusCode = 403; 
    res.send('{"result":"error","message":"Invalid auth token"}'); 
    } 
}); 

app.get('/del/:zone', function (req, res) { 
    if(req.headers.authorization == config.api_key){ 
    var zone = req.params.zone; 
    var sql = "DELETE FROM zones WHERE zone =?"; 
    var stmt = db.prepare(sql,zone); 
    stmt.run(); 
    stmt.finalize(); 
    res.statusCode = 202; 
    res.send('{result:"success"}'); 
    }else{ 
    res.statusCode = 403; 
    res.send('{"result":"error","message":"Invalid auth token"}'); 
    } 
}); 

app.get('/get/:zone', function (req, res) { 
    if(req.headers.authorization == config.api_key){ 
    var zone = req.params.zone; 
    db.all("SELECT * FROM zones WHERE zone=?",zone, function(err, row) { 
     res.statusCode = 200; 
     res.send('{"result":"success","message":' + JSON.stringify(row) + '}'); 
    }); 
    }else{ 
    res.statusCode = 403; 
    res.send('{"result":"error","message":"Invalid auth token"}'); 
    } 
}); 

module.exports = app; 

И когда я пытаюсь получить доступ, например, http://0.0.0.0:3000/list я получаю эту ошибку «{» результат «:» ошибка «„сообщение“:„Invalid аутентификации маркер“}»

Так что, очевидно, что-то не так. Я новичок в узле, поэтому не могу понять, в чем проблема.

Это мой server.js

var config = require('./config.json'); 
var api = require('./api.js'); 
var tsdns = require('./tsdns'); 

api.listen(config.api_port,config.api_ip, function() { 
    console.log('Api webservice running at %s:%s', config.api_ip, config.api_port); 
}); 

tsdns.listen(config.tsdns_port,config.tsdns_ip, function() { 
    console.log('Tsdns running at %s:%s', config.tsdns_ip,config.tsdns_port); 
}); 

Это то, что я должен начать, когда я хочу API для запуска, а затем он говорит, что это.

C: \ Users \ Administrator> узла server.js Api вебсервис работает на 0.0.0.0:3000 Tsdns работает на 0.0.0.0:41144

Так он говорит, что работает, и я не получают ошибок, этот API также не имеет журналов ошибок. Это папка API CLICK HERE TO SEE IT

Если вы хотите, чтобы мне удалось поделиться более кодами API, тогда я буду.

ответ

0

Нет маршрута GET для «/», поэтому вы получаете это сообщение. Апи следует ожидать только запросы от вашего Whmcs аддона, например:

http://yourdomain.com/get/yourdnszone 

аутентификации маркер должен быть также отправлен в заголовке запроса.

+0

Спасибо, что ответили, я загляну в него. –

+0

Подождите секунду, вы тот, кто создал этот апи? Если у вас есть время, пожалуйста, помогите мне заставить его работать. –

+0

Я уже объяснил, как работает api. Если у вас возникли проблемы с настройкой аддона whmcs, который соединяется с api, вы должны связаться с продавцом продавцов whmcs. – nathanr