Mixer Client接口Beam对象不是构造函数

时间:2018-01-29 09:56:54

标签: javascript node.js rest api express

我从微软的调音台api中获取数据,以显示观众和关注者等频道细节。

我已经尝试在他们的网站上使用他们的在线教程,但它给我一个错误,说梁不是构造函数。 这是他们的教程 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> &nbsp; &nbsp;at app.get 
     (C:\Users\Len\Documents\mixer\app.js:20:14)<br> &nbsp; &nbsp;at 
     Layer.handle [as handle_req

1 个答案:

答案 0 :(得分:1)

最近对beam-client-node进行了一些更改,需要对您的代码进行一些修改。对教程进行了更新,但我也在这里对它们进行了描述。

这一行: const Beam = require('beam-client-node');

将整个Beam Module及其类作为对象导入变量Beam。导入后,您需要引用此对象的属性以获取所需的各种类。

在这种情况下,您可以在Client课程之后查看“梁”中的某个属性。&#39; Beam&#39;从教程中可以看到这一行,它将为您提供一个实例化的混音器客户端:

const client = new Mixer.Client(new Mixer.DefaultRequestRunner());

一旦你有了这个,你就可以使用.request: client.request('GET'....