in common/src/main/scala/com/gu/media/youtube/YouTubePartnerApi.scala [73:99]
private def claimVideo(atomId: String, assetId: String, videoId: String, policy: Policy): Either[VideoUpdateError, String] = {
MAMLogger.info(s"Claiming video $videoId", atomId, videoId)
val claim = new Claim()
.setAssetId(assetId)
.setVideoId(videoId)
.setPolicy(policy)
.setContentType("audiovisual")
try {
val request = partnerClient.claims()
.insert(claim)
.setOnBehalfOfContentOwner(contentOwner)
YoutubeRequestLogger.logRequest(YoutubeApiType.PartnerApi, YoutubeRequestType.CreateVideoClaim)
val newClaim: Claim = request.execute()
MAMLogger.info(s"Successfully claimed video $videoId", atomId, videoId)
Right(s"No partner claim found, claimed video ${videoId} with a new claim ${newClaim.getId}")
} catch {
case e: GoogleJsonResponseException => {
val error: GoogleJsonError = e.getDetails
MAMLogger.error(s"Failed to claim video $videoId. ${error.toString} ${error.getMessage}", atomId, videoId)
Left(VideoUpdateError(s"Error in claiming video with new claim: ${error.toString()}", Some(error.getMessage)))
}
}
}