Dailymotion API - 无法上传视频

Dailymotion API - Can't get to a video to upload

我无法获取文件来上传 DailyMotion API。

我正在执行以下步骤:https://developer.dailymotion.com/video-upload/upload-new-video-api/

第一个 API 调用运行良好,returns 我将“upload_url”输入到您将在下面看到的方法中。

第二步失败,响应错误为:

{"error":"missing content size","seal": "[some string]"}

我应该如何设置内容大小?

第二次调用的代码:

<?php

namespace PierreMiniggio\YoutubeChannelCloner\Dailymotion\API;

class DailymotionFileUploader
{

    public function upload(string $uploadUrl, string $filePath): ?string
    {
        $formattedFile = function_exists('curl_file_create')
            ? curl_file_create(str_replace('\', '/', $filePath))
            : sprintf("@%s", $filePath)
        ;

        $ch = curl_init();

        curl_setopt($ch, CURLOPT_URL, $uploadUrl);
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt(
            $ch,
            CURLOPT_POSTFIELDS,
            ['file' => $formattedFile]
        );
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

        $response = curl_exec($ch);
        //var_dump($response); die(); // the output I printed above

        curl_close($ch);

        if (empty($response)) {
            return null;
        }
        
        $jsonResponse = json_decode($response, true);

        if (empty($jsonResponse) || ! isset($jsonResponse['url'])) {
            return null;
        }
        
        return $jsonResponse['url'];
    }
}

OS : W10 我确保文件路径和上传 URL 是正确的。

我尝试使用 dailymotion/sdk 库并使用上传文件的功能而不是使用我的 curl 请求,但我得到了完全相同的错误。

问题已解决,问题出在 curl/PHP。 我是 运行 PHP 7.4.3-dev 中的脚本,更新到 7.4.11 并解决了问题。 有关此错误的更多信息:https://bugs.php.net/bug.php?id=79013