1

私はnodejsクライアントライブラリを使用してライブ放送を作成しようとしているが、私は次のエラーを取得しています:エラー - NodeJSのLIBS

{ 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' } ] } 

それはAPIエクスプローラに取り組んでいますし、それは私になってきましたこれで失われたここにコードです:

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", 
    "snippet": { 
     "title": "Testing NodeJS", 
     "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)); 
}); 

ありがとうございました!

+0

プロジェクト自体にバグがありました。フォローアップリンクは次のとおりです:https://github.com/google/google-api-nodejs-client/issues/706 – Marrone

答えて

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)); 
});