Viel Spaß, ich verwende Google API v3, um Videos auf YouTube hochzuladen. Leider tritt dieser Fehler seit gestern auf, ohne dass Änderungen am Code oder Server vorgenommen wurden.
Ich habe in verschiedenen Abschnitten nach dem Fehlertext gesucht, aber keine Ergebnisse erhalten. Das Einzige, was ich gefunden habe, war dieses Paket und die Datei unter dieser Adresse src/Http/MediaFileUpload.php Geben Sie den Inhaltstyp an, der Wert ist application/json; set charset=UTF-8. Ich denke, das ist das Problem. Bitte führen Sie mich.
Danke
"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);
查看代码,当
$resumable
为 false 时,媒体类型application/json
发生(请参阅 此处 和 此处)。所以我会尝试设置
$resumable = true
(这是MediaFileUpload
的第五个参数)。您可以在large-file-upload.php
。