Ошибка аутентификации при попытке загрузить видео Vimeo

Использование официальной библиотеки PHP Vimeo (https://github.com/vimeo/vimeo.php )

При попытке загрузить видео с помощью метода upload() клиентской библиотеки возвращается следующий HTTP-ответ:

В токене аутентификации отсутствует идентификатор пользователя, и он должен быть предоставлен при загрузке видео.

Однако идентификатор клиента, секрет клиента и токен устанавливаются на клиенте перед вызовом метода upload():

Инициализация клиента:

$this->setClient(new Vimeo($this->clientId, $this->clientSecret, $this->token));

Вызов метода загрузки:

     try{
        $videoUri = $this->getClient()->upload($path, [
            'name' => $name,
            'privacy' => [
                'view' => 'anybody'
            ]
        ]);
        return $videoUri;
    } catch (\Exception $e) {
        dump($e);
        return false;
    }

Существует конечная точка учебника, которую я вызвал с помощью клиента, созданного выше, и получил следующий ответ:

{
    "message": "Success! You just interacted with the Vimeo API. Your dev environment is configured correctly, and the client ID, client secret, and access token that you provided are all working fine.",
    "next_steps_link": "https://developer.vimeo.com/api/guides/videos/upload",
    "token_is_authenticated": false
}

Любые предложения приветствуются!


person PiX06    schedule 22.02.2019    source источник
comment
clientId - это не то же самое, что userId. clientId и clientSecret предназначены для приложения API, которое вы создали, чтобы пользователи могли проходить аутентификацию. Я полагаю, upload() требует, чтобы пользователь прошел аутентификацию в вашем приложении github.com/vimeo/vimeo.php# аутентифицирован   -  person brombeer    schedule 22.02.2019
comment
Намерение состоит в том, чтобы загрузить в учетную запись, к которой принадлежит приложение, а не в учетную запись аутентифицированного пользователя.   -  person PiX06    schedule 22.02.2019
comment
Понятия не имею, извините. Пример загрузки можно найти на странице github.com/vimeo/vimeo.php /blob/master/example/upload.php, посмотрим, поможет ли это каким-либо образом   -  person brombeer    schedule 22.02.2019
comment
Я следовал этим инструкциям! ????   -  person PiX06    schedule 22.02.2019


Ответы (2)


Проблема заключалась в том, что используемый токен был токеном, не прошедшим проверку подлинности. Я предположил, что вам нужен только аутентифицированный токен для загрузки от имени другого пользователя. Создав новый аутентифицированный токен с областью действия «загрузка», я смог загрузить видео, используя точный код, указанный выше.

person PiX06    schedule 22.02.2019

Генерируемый вами токен не аутентифицирован, то есть он может читать только общедоступные метаданные на vimeo.com - его нельзя использовать для загрузки, получения данных или выполнения других действий с учетной записью.

Подарок находится в последней строке ответа / tutorials:

"token_is_authenticated": false

Ознакомьтесь с документами по аутентификации на сайте разработчиков Vimeo здесь: https://developer.vimeo.com/api/authentication#understanding-auth-workflows

person Tommy Penner    schedule 22.02.2019
comment
Спасибо за отзыв - разобрались, как вы можете видеть в моем ответе :) - person PiX06; 22.02.2019
comment
@ PiX06 Добро пожаловать! Не заметил вашего ответа, пока не ответил :) - person Tommy Penner; 22.02.2019