祝您玩得开心,我使用 Google api v3 将视频上传到 YouTube。不幸的是,我从昨天开始就面临这个错误,代码或服务器没有任何更改。
我在不同部分搜索了错误文本,但没有得到任何结果。我唯一发现的是这个包和这个地址的文件 src/Http/MediaFileUpload.php 指定content-type,值为application/json;设置 charset=UTF-8。我想这就是问题所在。请指导我。
谢谢
"error": {
"code": 400,
"message": "Media type 'application/json; charset=UTF-8' is not supported. ",
"errors": [
{
"message": "Media type 'application/json; charset=UTF-8' is not supported. ",
"domain": "global",
"reason": "badRequest"
}
],
"status": "INVALID_ARGUMENT"
}
$chunkSizeBytes = 15 * 1024 * 1024;
$client->setDefer(true);
$insertRequest = $youtube->videos->insert("status,snippet,recordingDetails", $video , [
'notifySubscribers' => true
]);
$media = new MediaFileUpload(
$client,
$insertRequest,
'video/'.File::extension($videoPath),
null,
false,
$chunkSizeBytes
);
$media->setFileSize(File::size($videoPath));
$status = false;
$handle = fopen($videoPath, "rb");
while (!$status && !feof($handle)) {
$chunk = fread($handle, $chunkSizeBytes);
$status = $media->nextChunk($chunk);
}
fclose($handle);
$client->setDefer(false);
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
查看代码,当
$resumable为 false 时,媒体类型application/json发生(请参阅 此处 和 此处)。所以我会尝试设置
$resumable = true(这是MediaFileUpload的第五个参数)。您可以在large-file-upload.php。