我从Microsoft的Mixer API提取数据以显示频道详细信息,例如查看者和关注者。
我曾尝试在他们的网站上使用他们的在线教程,但它给我一个错误,这表明Beam不是构造函数。
这是他们的教程
https://dev.mixer.com/tutorials/rest.html
这是我的代码
'use strict';
const express = require('express');
const app = express();
const bodyParser = require('body-parser');
const path = require("path");
const Beam = require('beam-client-node');
const ejs = require("ejs");
const beam = new Beam();
//const channelName = process.argv[2];
app.set('view engine', 'ejs');
app.use(express.static(path.join(__dirname, '/public')));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: true}));
app.get('/channel', (req, res) => {
return beam.request('GET', 'channels/PootsTheCat').then(res => {
const viewers = res.body.viewersTotal;
console.log(`You have ${viewers} total viewers...`);
});
res.render('home');
});
app.listen(3000);
console.log('Running on port 3000...');
这是错误
TypeError: Beam is not a function<br> at app.get
(C:\Users\Len\Documents\mixer\app.js:20:14)<br> at
Layer.handle [as handle_req
最佳答案
最近对beam-client-node
进行了一些更改,这需要对代码进行一些编辑。本教程已进行了更新,但我还将在此处进行描述。
这行:const Beam = require('beam-client-node');
将整个Beam Module及其类作为对象导入到变量Beam
中。导入后,您需要引用该对象的属性以获得所需的各种类。
在这种情况下,您需要使用Client
类,该类是'Beam'上的一个属性。在本教程中,有这行代码将为您提供实例化的混音器客户端:const client = new Mixer.Client(new Mixer.DefaultRequestRunner());
一旦有了这个,就可以使用.request了:client.request('GET'....