搜尋

首頁  >  問答  >  主體

錯誤 400:“不支援媒體類型‘application/json; charset=UTF-8’。”

祝您玩得開心,我使用 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);

P粉818561682P粉818561682277 天前427

全部回覆(1)我來回復

  • P粉872101673

    P粉8721016732024-03-29 13:54:49

    檢視程式碼,當$resumable 為false 時,媒體類型application/json 發生(請參閱此處此處)。

    所以我會嘗試設定 $resumable = true (這是 MediaFileUpload 的第五個參數)。您可以在 large-file-upload.php#。

    回覆
    0
  • 取消回覆