2014-12-02 2 views
0

Использование Vimeo PHP API с учетной записью Pro Vimeo.VimeoUploadException [0]: Невозможно получить билет на выход

У меня есть форма PHP с вводом файла, пользователь загружает файл через форму и я хочу, чтобы он загружался в нашу учетную запись Vimeo. Глядя на документы я следующее:

// via https://developer.vimeo.com/apps/XXXXXX#authentication 
// access_token has been generated with "public private purchased create edit delete interact upload" scope 
$lib = new \Vimeo\Vimeo($config['client_id'], $config['client_secret'], $config['access_token']); 

// send to the API library 
$uri = $lib->upload($_FILES['file']['tmp_name']); 

// get the info about it so we can find the link 
$video_data = $lib->request($uri); 

// pull the link out of successful data responses. 
$link = ''; 
if($video_data['status'] == 200) 
{ 
    $link = $video_data['body']['link']; 
} 

Он бросает Vimeo\Exceptions\VimeoUploadException [ 0 ]: Unable to get an upload ticket. при вызове $this->perform_upload($file_path, $ticket);.

private function perform_upload($file_path, $ticket) 
{ 
    if ($ticket['status'] != 201) { 
     throw new VimeoUploadException('Unable to get an upload ticket.'); 
    } 

Отклик билет $ пусто:

Array ([body] => [status] => 0 [headers] => Array ())

и $curl_info значение:

Array 
(
    [url] => https://api.vimeo.com/me/videos 
    [content_type] => 
    [http_code] => 0 
    [header_size] => 0 
    [request_size] => 0 
    [filetime] => -1 
    [ssl_verify_result] => 0 
    [redirect_count] => 0 
    [total_time] => 0.094 
    [namelookup_time] => 0 
    [connect_time] => 0.094 
    [pretransfer_time] => 0 
    [size_upload] => 0 
    [size_download] => 0 
    [speed_download] => 0 
    [speed_upload] => 0 
    [download_content_length] => -1 
    [upload_content_length] => -1 
    [starttransfer_time] => 0 
    [redirect_time] => 0 
    [certinfo] => Array 
     (
     ) 

    [primary_ip] => xxxxxxxxxxxxx 
    [primary_port] => xxx 
    [local_ip] => xxxxxxxxx 
    [local_port] => xxxxxxx 
    [redirect_url] => 
) 

Что я делаю неправильно?

+0

Можете ли вы предоставить содержимое билета $, переданного в perform_upload? Это должно включать более четкое сообщение об ошибке. – Dashron

+0

@Dashron обновленный вопрос с содержанием пустого билета $. Считаете ли вы, что это может быть проблема местного CURL? – xylar

+1

Определенно. Ознакомьтесь с нашими комментариями по устранению неполадок SSL здесь: https://github.com/vimeo/vimeo.php#troubleshooting – Dashron

ответ

0

Вам необходимо отправить запрос на доступ к загрузке на странице сведений о вашем приложении и дождаться согласия с Vimeo.

Смежные вопросы