Я работаю над проектом, в котором я хотел бы использовать WebRTC для записи видео с моего сайта PHP и загрузки его на мой канал YouTube. Для кода ниже я просто пытаюсь заставить загрузку работать, поскольку видео сохранено на моем сервере. Мне не ясно, какой ключ или авторизацию мне нужно использовать. После прочтения и изучения документации, я думаю, что мне нужно использовать служебную учетную запись (ключ) для этого?
https://developers.google.com/api-client-library/php/auth/service-accounts
Я не хочу, чтобы пользователи входили в систему / аутентифицировали аккаунт Google. Я хочу, чтобы загрузка происходила с моего веб-сайта на мой канал YouTube.
У меня нет доступа к установке с помощью composer, поэтому я загрузил папку google-api-php-client (v2.2.2) на свой сервер.
Мне не удалось найти какие-либо текущие примеры, которые были бы ближе к тому, что мне нужно, поэтому я пытаюсь объединить эти фрагменты:
Загрузок на диск: https://developers.google.com/api-client-library/php/guide/media_upload
Использует ключ учетной записи службы (?): https://developers.google.com/api-client-library/php/auth/service-accounts
Загрузить видео: https://developers.google.com/youtube/v3/code_samples/php#upload_a_video
Я получаю Любое руководство приветствуется. Я получаю сообщение «Эта страница не работает» HTTP ОШИБКА 500
Вот как выглядит мой код:
<?php
if (!file_exists('google-api-php-client/vendor/autoload.php')) {
throw new \Exception('please run "composer require google/apiclient:~2.0" in "' . __DIR__ .'"');
}
require_once 'google-api-php-client/vendor/autoload.php';
session_start();
putenv('GOOGLE_APPLICATION_CREDENTIALS=I-Video/i-video-recording-0e9cbc2cad7a.json');
$client = new Google_Client();
$client->useApplicationDefaultCredentials();
$file = new Google_Service_YouTube($client);
$result = $service->files->insert($file, array(
'data' => file_get_contents("data/1530103005236.webm"),
'mimeType' => 'application/octet-stream',
'uploadType' => 'media'
));
?>