상세 컨텐츠

본문 제목

Vimeo API 파일업로드 , 비메오 API를 이용해 웹상에서 바로 업로드 VimeoUploadException Unable to initiate an upload 해결

카테고리 없음

by 동해둘리 2021. 7. 4. 14:26

본문

반응형

비메오 API를 이용한 파일업로드

Vimeo API를 이용하여 파일을 업로드 하고자 할때 오류가 생기는 경우가 있습니다. VimeoUploadException  Unable to initiate an upload 와 같은 오류가 생길때가 있는데요, 이것은 Vimeo API를 사용하기 위해 앱 생성시 권한문제 때문입니다

 

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 버튼을 클릭합니다

 

Vimeo API 파일업로드

 

 

 

 

 

자신의 계정에 업로드 하려면 Private 을 선택해야 합니다

 

public 으로만 설정하는 경우, 자신의 계정에는 업로드 할 수 없습니다. 아래와 같이 선택한 후에 Generate 버튼을 클릭합니다

 

비메오 AIP 업로드

 

 

생성된 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>

 

위 코드를 실행하면 아래와 같이 파일업로드 버튼이 보이게 됩니다. 

 

vimeo api

 

 

 

파일을 선택하고 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

 

반응형

댓글 영역