2017-01-22 4 views
0

J'essaie d'installer un module teamspeak 3 pour mon site web WHMCS.Teamspeak 3 API du module "Can not GET /"

J'ai tout fait correctement selon le tutoriel. Mais j'ai aussi une API codée dans un nœud qui fonctionne avec le module. Lorsque j'accède 0.0.0.0:3000 Je reçois l'erreur "Can not GET /" Mon pare-feu est désactivé de sorte qu'il ne peut pas être le port qui est bloqué. Ceci est mon 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; 

Et quand je tente d'accéder par exemple http://0.0.0.0:3000/list je reçois cette erreur "{" résultat ":" erreur " "message": "non valide jeton auth"}"

Donc, quelque chose est évidemment faux. Je suis nouveau sur le noeud, donc je ne peux pas comprendre quel est le problème.

Ceci est mon 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); 
}); 

C'est ce que je suis censé commencer quand je veux l'API à exécuter, puis il dit cela.

C: \ Users \ Administrateur> nœud de Api de webservice en cours d'exécution à 0.0.0.0:3000 Tsdns en cours d'exécution à 0.0.0.0:41144

Il dit qu'il est en cours d'exécution et je ne recevez pas d'erreurs, cette API n'a pas non plus de journaux d'erreurs. Ceci est le dossier API CLICK HERE TO SEE IT

Si vous voulez que je partage plus de codes de l'API, alors je le ferai.

Répondre

0

Il n'y a pas de route GET pour "/", c'est pourquoi vous obtenez ce message. Le api ne devrait recevoir des demandes de votre addon WHMCS, par exemple:

http://yourdomain.com/get/yourdnszone 

Un jeton d'authentification doit également être envoyé dans l'en-tête de demande.

+0

Merci d'avoir répondu, je vais y jeter un coup d'oeil. –

+0

Attendez une seconde, vous êtes celui qui a créé cette API? Si vous avez du temps, aidez-moi à le faire fonctionner. –

+0

J'ai déjà expliqué comment fonctionne l'api. Si vous rencontrez des problèmes lors de la configuration de l'add-on whmcs qui se connecte à l'API, vous devez contacter le service d'assistance de whmcs addon. – nathanr