gpt4 book ai didi

youtube-api - youtube api 获取 channel 货币化状态?

转载 作者:行者123 更新时间:2023-12-04 08:54:51 37 4
gpt4 key购买 nike

是否有任何 API 可以检查 Youtube channel 的货币化状态?也适用于 YouTube 视频。我尝试使用 youtube 数据 api 但没有得到。或任何其他 api 来知道货币化是打开还是关闭。

最佳答案

我知道这是很久以前的问题,但我现在仍然发现这个需要。因此,在 YouTube API 文档中搜索了很多之后,我发现 Google 没有提供此功能,因此我创建了一些解决方法。

基本上我所做的是使用指标估计收入生成分析报告,如果我遇到“禁止错误”或 403,我再次尝试将指标更改为没有估计收入。如果这次获取的报告数据没有错误,则意味着该 channel 没有任何收入,因此没有货币化。

我使用 nodejs 来说明这一点,因为这是我在我的项目中使用的,但您可以适应任何其他语言。您可能需要查看 Google 官方客户端库:

https://developers.google.com/youtube/v3/libraries

代码片段是这样的:

let isMonetized = true;
this.metrics = 'views,comments,likes,dislikes,estimatedMinutesWatched,grossRevenue,estimatedRevenue'

while (true) {

try {

const youtubeAnalytics = googleapis.google.youtubeAnalytics({ version: 'v2', auth });

const response = await youtubeAnalytics.reports
.query({
endDate: '2030-12-30',
ids: 'channel==MINE',
metrics: this.reportMetrics,
startDate: '2000-01-01',
});

const responseData = response.data;

const analyticsInfo = {

channelId,
channelName: youtubeTokens[channelId].channelName,
views: responseData.rows[0][0],
comments: responseData.rows[0][1],
likes: responseData.rows[0][2],
dislikes: responseData.rows[0][3],
estimatedMinutesWatched: responseData.rows[0][4],
grossRevenue: responseData.rows[0][5] !== undefined
? responseData.rows[0][5]
: 'Not monetized',
estimatedRevenue: responseData.rows[0][6] !== undefined
? responseData.rows[0][6]
: 'Not monetized',

};

return analyticsInfo;

} catch (error) {

if (error.code === 403 && isMonetized) {

console.log('Could not get reports. Trying again without revenue metrics');
this.reportMetrics = 'views,comments,likes,dislikes,estimatedMinutesWatched';
isMonetized = false;

} else {

console.log(error);

return false;

}

}

}

关于youtube-api - youtube api 获取 channel 货币化状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38046636/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com