NodeJS 使用API上传的视频被锁定为私有[复制]

kyks70gy  于 2022-12-12  发布在  Node.js
关注(0)|答案(1)|浏览(156)

此问题在此处已有答案

Using Youtube Data API makes my videos private on upload(2个答案)
去年关闭了。
"我想做的"
我想自动上传我的代码每天生成的视频到我的YouTube频道。它应该上传视频文件并添加缩略图。
"哪里出了问题"
当我让我的代码上传视频时,视频播放正常,一切正常,但视频有一个限制,导致它被锁定为私人。没有进一步的信息提供,上诉是不可能的。我试过上传为未列出后,一切似乎都很好。但当我手动设置为公开,即使等待12小时后,视频再次锁定为私人。
说明问题的视频:
https://youtu.be/hRUV023nshI
如何避免此问题并确保人们可以看到视频?我找不到任何违反YouTube条款和政策的内容。当我手动上传完全相同的视频时,一切都正常。

我的代码

我使用的是带有OAuth2的google-api-nodejs-client。我使用以下内容生成了身份验证URL:

const authUrl = oauth2Client.generateAuthUrl({
    access_type: "offline",
    scope: [
        "https://www.googleapis.com/auth/youtube",
        "https://www.googleapis.com/auth/youtube.upload",
        "https://www.googleapis.com/auth/youtube.readonly"
    ];
});

上传视频代码:

youtube.videos.insert(
    {
        auth: auth,
        part: "snippet,contentDetails,status",
        resource: {
            snippet: {
                title: "Title goes here",
                description: "Description goes here",
                tags: ["tags", "go", "here"],
            },
            status: {
                privacyStatus: "private",
                selfDeclaredMadeForKids: false,
            },
        },

        media: {
            body: fs.createReadStream("./video.avi"),
        },
    },
    async (error, data) => {
        if (error)
            return reject(error);
    }
);

更改缩略图的代码:

youtube.thumbnails.set(
    {
        auth: auth,
        videoId: videoId,
        media: {
            mimeType: "image/jpeg",
            body: fs.readFileSync(`./thumbnail.png`)
        },
    },
    (err, thumbResponse) => {
        if (err) {
            console.log("Error response");
            console.log(err);
        }
        console.log(thumbResponse);
    }
);
gab6jxml

gab6jxml1#

由应用程序上传的未通过验证过程的视频将被设置为私有。
您需要提交您的申请进行验证,一旦完成验证过程,您将能够上传公共视频。
这是一个更新后,一些明确从谷歌。
Video.insert页面的顶部,您将看到它的状态。

审核不是验证,这是两回事,你需要申请审核YouTube API Services - Audit and Quota Extension Form

相关问题