{
//.. 이전것들
implementation 'com.clickntap:vimeo:2.0'
}
package com.clickntap.vimeo;
import java.io.File;
public class VimeoSample {
public static void main(String[] args) throws Exception {
Vimeo vimeo = new Vimeo("[token]");
//add a video
String videoEndPoint = vimeo.addVideo(new File("/Users/tmendici/Downloads/Video.AVI"));
//get video info
VimeoResponse info = vimeo.getVideoInfo(videoEndPoint);
System.out.println(info);
//edit video
String name = "Name";
String desc = "Description";
String license = ""; //see Vimeo API Documentation
String privacyView = "disable"; //see Vimeo API Documentation
String privacyEmbed = "whitelist"; //see Vimeo API Documentation
boolean reviewLink = false;
vimeo.updateVideoMetadata(videoEndPoint, name, desc, license, privacyView, privacyEmbed, reviewLink);
//add video privacy domain
vimeo.addVideoPrivacyDomain(videoEndPoint, "clickntap.com");
//delete video
vimeo.removeVideo(videoEndPoint);
}
}



Generate Access Token 클릭
@Slf4j
public class VimeoApiTest {
// @Value("${vimeo.token}")
// 실제로는 위와 같은 형태로 yml에서 읽어오도록 설정
public static final String vimeoToken = "068059ec3424e1ad2d0f7be87a3bd07f";
public static final String VIMEO_API_LINK_PREFIX = "https://api.vimeo.com/videos/";
public static void main(String[] args) {
Vimeo vimeo = new Vimeo(vimeoToken);
// 1. 영상에서 Id 추출
// "https://vimeo.com/manage/videos/1027182136" 형태의 url에서 맨 뒤에 숫자만 추출
String videoId = "1027182136";
// 2. 엔드포인트 추출 / sample : 1027182136
// API용 엔드포인트 https://api.vimeo.com/videos/1027182136 형태로 요청 보내야 함
String videoEndPoint = VIMEO_API_LINK_PREFIX + videoId;
// 3. video 정보 얻기
VimeoResponse info;
try {
info = vimeo.getVideoInfo(videoEndPoint);
} catch (IOException e) {
log.info("Vimeo 영상 정보 추출 시도 했으나 네트워크 예외 발생, 요청 url = {}", videoEndPoint);
throw new RuntimeException("Vimeo 네트워크 예외 발생, 다시 시도해주세요");
}
// 요청에는 성공했지만 받은 응답이 404 라면 영상을 못찾음
if (info.getStatusCode() == HttpStatus.NOT_FOUND.value()) {
throw new IllegalArgumentException("해당 Id에 해당하는 강의 영상 조회에 실패했습니다. 링크 혹은 영상 업로드 여부를 확인해주세요");
}
// 정보 확인
log.info("info = {}", info);
// 4-1. 영상 길이(Second) 추출 -> 초 단위
int duration = info.getJson().getInt("duration");
System.out.println("duration = " + duration);
// 4-2. 영상 이름 추출
String name = info.getJson().getString("name");
System.out.println("name = " + name);
}
}
영상에서 Id부분만 추출
API용 링크로 전환
video 정보 얻기

응답 확인
info = HTTP Status Code:
200
Json:
{
"play": {"status": "playable"},
//...
"duration": 25,
//...
"name": "6583403-uhd_4096_2160_25fps",
//..
}