使用 API 上传的视频被锁定为私人

Videos uploaded with API get locked to private

我想做什么

我想自动将我的代码每天生成的视频上传到我的 YouTube 频道。它应该上传视频文件并添加缩略图。

哪里出了问题

当我让我的代码上传视频时,视频播放正常并且一切正常,但视频有一个限制导致它被锁定为私有。没有提供进一步的信息,也无法上诉。我试过以不公开的形式上传,之后一切似乎都很好。然而,当我手动将其设置为 public 时,即使在等待 12 小时后,视频仍然再次被锁定为私有。

说明问题的视频:

https://youtu.be/hRUV023nshI

如何避免此问题并确保人们可以看到视频?我找不到任何违反 YouTube 条款和政策的内容。当我手动上传完全相同的视频时,一切正常。

我的代码

我正在使用 google-api-nodejs-client 和 OAuth2。我使用以下方法生成了身份验证 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);
    }
);

应用程序上传的未通过验证过程的视频将被设置为私有。

完成验证过程后,您需要提交验证申请,然后才能上传 public 个视频。

这是 Google 的一些清晰度后的更新。

Video.insert 页面的顶部,您会看到它的状态。

审核不是验证,这是两个不同的东西。您需要申请审核。 YouTube API Services - Audit and Quota Extension Form