in common/src/main/scala/com/gu/media/youtube/YouTubePartnerApi.scala [15:42]
private def createAsset(title: String, videoId: String, atomId: String): Either[VideoUpdateError, Asset] = {
MAMLogger.info(s"Creating YouTube asset for $videoId", atomId, videoId)
val metadata = new Metadata()
.setTitle(title)
.setDescription(videoId)
.setCustomId(atomId)
val asset = new Asset()
.setMetadata(metadata)
.setType("web")
try {
val request = partnerClient.assets()
.insert(asset)
.setOnBehalfOfContentOwner(contentOwner)
YoutubeRequestLogger.logRequest(YoutubeApiType.PartnerApi, YoutubeRequestType.CreateAsset)
val createdAsset = request.execute()
MAMLogger.info(s"YouTube asset created successfully for $videoId", atomId, videoId)
Right(createdAsset)
} catch {
case e: GoogleJsonResponseException => {
val error: GoogleJsonError = e.getDetails
MAMLogger.error(s"Failed to create asset for $videoId. ${error.toString} ${error.getMessage}", atomId, videoId)
Left(VideoUpdateError(s"Error in creating an asset: ${error.toString()}", Some(error.getMessage)))
}
}
}