youtube api in action
I'm trying to upload a file to youtube from a convex action, but I get this error:
Uncaught TypeError: part.body.pipe is not a function
at multipartUpload (../node_modules/googleapis-common/build/src/apirequest.js:180:12)
at createAPIRequestAsync (../node_modules/googleapis-common/build/src/apirequest.js:219:12)
at createAPIRequest (../node_modules/googleapis-common/build/src/apirequest.js:52:4)
at insert [as insert] (../node_modules/googleapis/build/src/apis/youtube/v3.js:2595:12)
at handler (../convex/youtube.ts:104:6)Uncaught TypeError: part.body.pipe is not a function
at multipartUpload (../node_modules/googleapis-common/build/src/apirequest.js:180:12)
at createAPIRequestAsync (../node_modules/googleapis-common/build/src/apirequest.js:219:12)
at createAPIRequest (../node_modules/googleapis-common/build/src/apirequest.js:52:4)
at insert [as insert] (../node_modules/googleapis/build/src/apis/youtube/v3.js:2595:12)
at handler (../convex/youtube.ts:104:6)const youtube = google.youtube({ version: "v3", auth: oauth2Client });
const fileStream = file.stream();
const fileSize = file.size;
await youtube.videos.insert(
{
part: ["snippet", "status"],
requestBody: {
snippet: {
title: video.title,
description: "this video was created using thevideocrafter.com",
},
status: {
privacyStatus: "private",
},
},
media: {
body: fileStream,
},
},
{
onUploadProgress: (evt) => {
const progress = (evt.bytesRead / fileSize) * 100;
console.log(`${progress.toFixed(2)}% complete`);
},
}
);const youtube = google.youtube({ version: "v3", auth: oauth2Client });
const fileStream = file.stream();
const fileSize = file.size;
await youtube.videos.insert(
{
part: ["snippet", "status"],
requestBody: {
snippet: {
title: video.title,
description: "this video was created using thevideocrafter.com",
},
status: {
privacyStatus: "private",
},
},
media: {
body: fileStream,
},
},
{
onUploadProgress: (evt) => {
const progress = (evt.bytesRead / fileSize) * 100;
console.log(`${progress.toFixed(2)}% complete`);
},
}
);