public static bool ValidateImage(string base64) { string url = String.Format("https://vision.googleapis.com/v1/images:annotate?key=AIzaSyDXDoLooB6HezLF8dV3kD9kg5xUTJLiaAM"); string response = CallVisionAPI(url, base64); VisionAPIResponse apiResponse = DeserializeResponse(response); // Check if a response exists Response responseCheck = apiResponse.responses.SingleOrDefault(); if (responseCheck == null) { return(false); } // Check if there are any faces or more than one Faceannotation[] responseFaces = responseCheck.faceAnnotations; if (responseFaces.Count() > 1 || responseFaces.Count() == 0) { return(false); } // Check if description, passport and score List <Webentity> entities = responseCheck.webDetection.webEntities .Where(i => i.description != null && i.description.ToLower().Contains("passport") && i.score > 0.5) .ToList(); //TODO: Blend checking logic with new logic // Check if the entities list is greater than 0 return(entities.Count > 0 ? true : false); }
static VisionAPIResponse DeserializeResponse(string response) { VisionAPIResponse apiResponse = JsonConvert.DeserializeObject <VisionAPIResponse>(response); return(apiResponse); }