我从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> &nbsp; &nbsp;at app.get
     (C:\Users\Len\Documents\mixer\app.js:20:14)<br> &nbsp; &nbsp;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'....

10-08 04:51