Ralat 400: "Jenis media 'application/json; charset=UTF-8' tidak disokong."
P粉818561682
P粉818561682 2024-03-28 18:05:10
0
1
351

Selamat mencuba, saya menggunakan Google api v3 untuk memuat naik video ke YouTube. Malangnya saya menghadapi ralat ini sejak semalam tanpa sebarang perubahan dalam kod atau pelayan.

Saya mencari teks ralat dalam bahagian berbeza tetapi tidak mendapat sebarang hasil. Satu-satunya perkara yang saya temui ialah pakej ini dan fail di alamat ini src/Http/MediaFileUpload.php Tentukan jenis kandungan, nilainya ialah aplikasi/json set charset=UTF-8. Saya rasa itu masalahnya. Tolong bimbing saya.

Terima kasih

Butiran alam sekitar

  • Sistem pengendalian: Linux
  • Versi PHP: 8.1.8
  • Nama pakej dan versi: "google/apiclient": "^2.13.2"
  • Laravel: ^9.0

Langkah untuk membiak

"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"
  }

Contoh Kod

 $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粉818561682
P粉818561682

membalas semua(1)
P粉872101673

Lihat kod untuk bila $resumable 为 false 时,媒体类型 application/json berlaku (lihat di sini dan di sini).

Jadi saya akan cuba sediakan $resumable = true (这是 MediaFileUpload 的第五个参数)。您可以在 large-file-upload.php.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!