我正在尝试通过最新版本的谷歌客户端 api(v3,最新签出源)将大型视频上传到 youtube
我让它发布视频,但我可以让它工作的唯一方法是将整个视频读入一个字符串,然后通过 data 参数传递它。
我当然不想将巨大的文件读入内存,但 api 似乎没有提供其他方法来做到这一点。它似乎期望一个字符串作为data
参数。下面是我用来发布视频的代码。
$snippet = new Google_VideoSnippet();
$snippet->setTitle("Test title2");
$snippet->setDescription("Test descrition");
$snippet->setTags(array("tag1", "tag2"));
$snippet->setCategoryId("22");
$status = new Google_VideoStatus();
$status->privacyStatus = "private";
$video = new Google_Video();
$video->setSnippet($snippet);
$video->setStatus($status);
$videoData = file_get_contents($pathToMyFile);
$youtubeService->videos->insert("status,snippet", $video, array("data" => $videoData, "mimeType" => "video/mp4"));
有没有办法以块的形式发布数据,或者以某种方式流式传输数据以避免将整个文件读入内存?