创建直播时出错 - NodeJS库

时间:2017-02-08 15:48:33

标签: youtube-api youtube-data-api youtube-livestreaming-api

我正在尝试使用nodejs客户端库创建直播,但我收到以下错误:

{
  "interests": {
    "b8a9d7cbf6": false,
    "5998e44916": true
  }
}

它正在使用API​​ Explorer,这让我迷失了这个。这是代码:

{ Error: Title is required
    at Request._callback   code: 400,
.
.
.
  errors: 
   [ { domain: 'youtube.liveBroadcast',
       reason: 'titleRequired',
       message: 'Title is required',
       extendedHelp: 'https://developers.google.com/youtube/v3/live/docs/liveBroadcasts/insert#request_body' } ] }

感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

解决了。

我的广播参数不正确。我错过了“资源”。这是现在正在运行的代码:

var google = require('googleapis');
var OAuth2 = google.auth.OAuth2;
var youtube = google.youtube('v3');

var oauth2Client = new OAuth2(
  'xxxx', //CLIENT_ID
  'xxxx', //MY_CLIENT_SECRET,
  'http://localhost:3000/api/integrations/youtube'//YOUR_REDIRECT_URL
);

oauth2Client.setCredentials({
  access_token: "xxxx",
  refresh_token: "xxxx"

});

broadcastParams = {
    "auth": oauth2Client,
    "part": "snippet,status,contentDetails",
    "resource": {
        "snippet": {
            "title": "Tesing NodeJS 123",
            "scheduledStartTime": "2017-02-20T14:00:00.000Z",
            "scheduledEndTime": "2017-02-20T15:00:00.000Z",
        },
        "status": {
            "privacyStatus": "private",
        },
        "contentDetails": {
            "monitorStream": {
                "enableMonitorStream": true,
            }
        }
    }
};


youtube.liveBroadcasts.insert(broadcastParams,  function(err,broadcast) {
    if (err) {
        return console.log('Error creating broadcast: ', err);
    }
    console.log('Broadcast = ' + JSON.stringify(broadcast));
});