카테고리 없음
Vimeo API 파일업로드 , 비메오 API를 이용해 웹상에서 바로 업로드 VimeoUploadException Unable to initiate an upload 해결
동해둘리
2021. 7. 4. 14:26
반응형
비메오 API를 이용한 파일업로드
Vimeo API를 이용하여 파일을 업로드 하고자 할때 오류가 생기는 경우가 있습니다. VimeoUploadException Unable to initiate an upload 와 같은 오류가 생길때가 있는데요, 이것은 Vimeo API를 사용하기 위해 앱 생성시 권한문제 때문입니다
Vimeo 개발자 사이트에 APP을 등록
비메오 개발자사이트에 app을 등록시 upload 권한을 얻기 위해서는 별도로 요청을 해야하고, 2~5일 정도의 심사기간을 거친 후에 upload 가능합니다
앱 등록은 이전에 포스팅 했던 아래 포스트를 참고하시기 바랍니다
https://doolyit.tistory.com/232
Vimeo API 키 발급 및 php 용 SDK 설치하기, Vimeo API통신예제
Vimeo API 키 발급받기 Vimeo 를 이용하여 웹상에서 동영상을 업로드 하거나, 업로드된 동영상 리스트를 받거나 하기 위해서는 API를 사용해야 합니다. 우선 Vimeo 개발자 사이트로 이동합니다 https://de
doolyit.tistory.com
업로드 신청을 하고 몇일이 지나서 확인해 봅니다
업로드 신청 후 5일정도 지나면 아래와 같이 Upload Access 에 Your app has access to upload to your own account 라는 문구가 보입니다. 이 문구가 보이면 API를 통해 업로드가 가능하다는 허락을 받은 것입니다
실제 업로드를 위해서는 Access Token 이 필요합니다
업로드 허가를 받았다고 하더라도 바로 가능한게 아니라, 인증을 위해 Access Token 을 생성해 줘야 합니다. 아래의 Generate 버튼을 클릭합니다
자신의 계정에 업로드 하려면 Private 을 선택해야 합니다
public 으로만 설정하는 경우, 자신의 계정에는 업로드 할 수 없습니다. 아래와 같이 선택한 후에 Generate 버튼을 클릭합니다
생성된 Access Token 을 복사합니다
생성된 Access Token 을 복사 한 후 소스코드에서 사용합니다
업로드를 위한 소스코드 입니다
업로드를 위한 소스코드 입니다. Form 방식으로 업로드 하는 경우, 파일선택을 하기 위한 페이지소스는 다음과 같습니다
<form action="./vimeo_upload_todb.html" method="POST" id="form201" enctype="multipart/form-data">
<input type="file" name="my_field_add" value="" class="form-control" id="fi_pic">
<input type="submit" value="save" name="saveUniv" class="btn btn-primary">
</form>
위 코드를 실행하면 아래와 같이 파일업로드 버튼이 보이게 됩니다.
파일을 선택하고 Save 를 클릭합니다
File을 선택하고 Save 버튼을 클리하면 아래 페이지로 이동하게되며, client_id 와 client_secret 그리고 access_token 에 의해 자신의 계정으로 파일을 업로드 하게됩니다
<?php
$client_id = "e68c98bafasdfasdfce06f28a5edd9a7eec735191520";
$client_secret = "cit3jXeAGeI5b/kl87quFBNVafefasdfasdfasdfoBs+fmi0un/L1hgwQcvJaakCIgEpEh1UJGjSOTGR08uTLdUIqlBHRcpukGkLTLBKni0vOk3ess";
$access_token = "c33c66asdfefa9fasdf08abd90a1a5a15";
require '../../vendor/autoload.php';
use Vimeo\Vimeo;
$client = new Vimeo($client_id, $client_secret, $access_token);
$file_name = realpath($_FILES['my_field_add']['tmp_name']);
$uri = $client->upload($file_name, array(
"name" => "Success",
"description" => "The description goes here."
));
echo "Your video URI is: " . $uri;
?>
업로드 결과는 다음과 같습니다
비메오 계정으로 접속해 보면, 아래와 같이 동영상이 업로드 된걸 확인할 수 있습니다
참고로 저 동해둘리가 직접 운영하는 '성공하는 중이다' 카페를 소개드립니다.
각자의 분야에서 성공을 향해 가는 과정에서 힘이되는 이야기, 힘이되는 사진, 성공스토리, 실패스토리 등을 나누고자 합니다. 많은 참여 부탁드려요
https://cafe.naver.com/ingsuccess
성공하는 중이다 : 네이버 카페
성공을 위해 실패를 두려워하지 않는 분들의 이야기를 나누고 싶습니다. 우리는 성공하는 중이니까요!
cafe.naver.com
반응형