2017-01-22 5 views
0

WHMCSウェブサイト用のteamspeak 3モジュールをセットアップしようとしています。Teamspeak 3モジュールAPI "Can not GET /"

私はチュートリアルに従ってすべてをやった。 しかし、モジュールで動作するノードにコード化されたAPIもあります。 アクセスすると0.0.0.0:3000 "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にアクセスしようとしたとき、私はこのエラー 「{」結果無効な認証トークン「:」エラー「 『メッセージ』 『』}」を取得

何かが明らかに間違っています。私はノードに新しいので、私は問題が何であるか把握できません。

これは、私は、私はAPIを実行するときに開始することになっていますものですし、それがこれを言うというのが私の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:0.0.0.0:41144

で実行されている0.0.0.0:3000 Tsdnsで実行されている\ Users \ユーザー管理]> [ノードserver.js のAPI Webサービスは、だから、それが実行され、Iれると言いますエラーを受け取らない場合、このAPIにはエラーログもありません。 これはAPIフォルダです CLICK HERE TO SEE IT

私はAPIのコードをもっと共有したいと思います。

答えて

0

"/"のGETルートはありません。そのため、そのメッセージが表示されます。 APIは、あなたのWHMCSアドオンからの要求を期待するべきである、例えば:

http://yourdomain.com/get/yourdnszone 

認証トークンは、リクエストヘッダで送信する必要があります。

+0

お返事ありがとうございます、私はそれを調べます。 –

+0

もう一度、このAPIを作成したのですか?時間があれば、それを働かせるように助けてください。 –

+0

私は既にapiの仕組みについて説明しました。 apiに接続するwhmcsアドオンをセットアップする際に問題がある場合は、whmcsアドオンの販売者サポートに連絡してください。 – nathanr