在 OpenTok 中使用动态 sessionId 和 token-Angular
Using dynamic sessionId and token in OpenTok-Angular
我想尝试 aullman 示例 OpenTok-Angular: https://github.com/aullman/OpenTok-Angular
但是,在第二步(替换 demo.html 文件中的 apiKey、sessionId 和令牌),我想用 OpenTok SDK Node.js 动态生成的 sessionId 和令牌替换(我已经完成 app.js)
我该怎么做?
PS:我的 app.js 在视图 apiKey、sessionId 和 Token 中呈现的文件:
// Dependencies
var express = require('express');
var server_port = process.env.PORT || 3000;
var newSession = require('./credentialsPromise').newSession(); //obtains the promise with sessionId and token generated dynamically
var app = express();
app.use(express.static(__dirname + '/public'));
//Init the app
init();
app.get('/', function(req, res){
//Promise
newSession.then(function(req){
//fullfilled
var obj = req;
//Render in view
res.render('index.ejs', {
apiKey: obj.apiKey,
sessionId: obj.sessionId,
token: obj.tokenId
});
}, function(reject){ //rejected
console.log("Error, cannot use promise");
});
});
function init() {
app.listen(server_port, function() {
console.log('App is running in localhost:' + server_port);
});
}
使用节点 js 创建一个 Rest API 并从您的 angular js 页面调用 api。从节点 js 获得成功响应后,在变量中获取该会话 ID 和令牌并传入您的 angular js 方法。
如何创建 Rest API。
http://www.tutorialspoint.com/nodejs/nodejs_restful_api.htm
我只需要将 demo.html 更改为 index.ejs 并将其存储在 views 文件夹中(显然是修改路径)。
然后,我通过 returns app.js 的值更改了我的 apiKey、sessionId 和令牌,如下所示:
angular.module('demo', ['opentok'])
.controller('MyCtrl', ['$scope', 'OTSession', 'apiKey', 'sessionId', 'token', function($scope, OTSession, apiKey, sessionId, token) {
OTSession.init(apiKey, sessionId, token);
$scope.streams = OTSession.streams;
}]).value({
apiKey: '<%= apiKey %>',
sessionId: '<%= sessionId %>',
token: '<%= token %>'
});
我想尝试 aullman 示例 OpenTok-Angular: https://github.com/aullman/OpenTok-Angular
但是,在第二步(替换 demo.html 文件中的 apiKey、sessionId 和令牌),我想用 OpenTok SDK Node.js 动态生成的 sessionId 和令牌替换(我已经完成 app.js)
我该怎么做?
PS:我的 app.js 在视图 apiKey、sessionId 和 Token 中呈现的文件:
// Dependencies
var express = require('express');
var server_port = process.env.PORT || 3000;
var newSession = require('./credentialsPromise').newSession(); //obtains the promise with sessionId and token generated dynamically
var app = express();
app.use(express.static(__dirname + '/public'));
//Init the app
init();
app.get('/', function(req, res){
//Promise
newSession.then(function(req){
//fullfilled
var obj = req;
//Render in view
res.render('index.ejs', {
apiKey: obj.apiKey,
sessionId: obj.sessionId,
token: obj.tokenId
});
}, function(reject){ //rejected
console.log("Error, cannot use promise");
});
});
function init() {
app.listen(server_port, function() {
console.log('App is running in localhost:' + server_port);
});
}
使用节点 js 创建一个 Rest API 并从您的 angular js 页面调用 api。从节点 js 获得成功响应后,在变量中获取该会话 ID 和令牌并传入您的 angular js 方法。
如何创建 Rest API。 http://www.tutorialspoint.com/nodejs/nodejs_restful_api.htm
我只需要将 demo.html 更改为 index.ejs 并将其存储在 views 文件夹中(显然是修改路径)。
然后,我通过 returns app.js 的值更改了我的 apiKey、sessionId 和令牌,如下所示:
angular.module('demo', ['opentok'])
.controller('MyCtrl', ['$scope', 'OTSession', 'apiKey', 'sessionId', 'token', function($scope, OTSession, apiKey, sessionId, token) {
OTSession.init(apiKey, sessionId, token);
$scope.streams = OTSession.streams;
}]).value({
apiKey: '<%= apiKey %>',
sessionId: '<%= sessionId %>',
token: '<%= token %>'
});