如何为 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 视频启用货币化吗???
这是用于直播的
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();
}
}