如何在 JAVA 中使用 youtube 数据 api 自动为 youtube 视频启用货币化?

问题描述 投票:0回答:1

如何为 youtube 视频自动启用货币化。我正在尝试使用以下不起作用的代码:

VideoMonetizationDetails videoMonetizationDetail = new  videoMonetizationDetails();
AccessPolicy accessPolicy = new AccessPolicy();
accessPolicy.setAllowed(true);
videoMonetizationDetail.setAccess(accessPolicy);
ytvideo.setMonetizationDetails(videoMonetizationDetail);

显示以下错误:

java.net.SocketTimeoutException: connect timed out
    at java.base/java.net.PlainSocketImpl.socketConnect(Native Method)

有什么方法可以自动为 youtube 视频启用货币化吗???

youtube-data-api
1个回答
0
投票

这是用于直播的

LiveBroadcast broadcast = youtube.liveBroadcasts().get("id,snippet,contentDetails,status", LIVE_STREAM_ID).execute();
LiveBroadcastSnippet snippet = broadcast.getSnippet();
LiveBroadcastContentDetails contentDetails = broadcast.getContentDetails();
LiveBroadcastStatus status = broadcast.getStatus();

// Enable monetization for the live stream
contentDetails.setEnableMonetization(true);

// Set the ad formats and ad breaks for the live stream
contentDetails.setAdFormats(Arrays.asList("display", "overlay", "skippable"));
SlateSettings slateSettings = new SlateSettings();
VideoAdDetails videoAdDetails = new VideoAdDetails();
List<VideoAdDetails.BreakPosition> breakPositions = Arrays.asList(
    new VideoAdDetails.BreakPosition().setPosition(30),
    new VideoAdDetails.BreakPosition().setPosition(60),
    new VideoAdDetails.BreakPosition().setPosition(90));
videoAdDetails.setBreakPositions(breakPositions);
slateSettings.setVideoAdDetails(videoAdDetails);
contentDetails.setSlateSettings(slateSettings);

// Update the live broadcast with the new monetization settings
LiveBroadcast broadcastUpdate = new LiveBroadcast()
    .setSnippet(snippet)
    .setContentDetails(contentDetails)
    .setStatus(status);
youtube.liveBroadcasts().update("id,snippet,contentDetails,status", broadcastUpdate).execute();
 }
}
© www.soinside.com 2019 - 2024. All rights reserved.