我正在尝试使用图形API在dailymotion上传视频:
http://www.dailymotion.com/doc/api/graph-api.html
使用读取和写入权限成功进行了身份验证,但尝试使用以下api发布方法上传视频时:http://www.dailymotion.com/doc/api/graph-api.html#publishing获取错误
stdClass对象([error] => stdClass对象([code] => 400 [消息] => `url'参数返回无效的内容类型:text / plain,必须是video / * [type] => invalid_parameter))
我使用以下cURL向API发送请求:
$fields = '';
$data = array(
"access_token" => $token,
"url" => "https://www.somesite.com/demo/dailymotion/X.mp4"
);
$url = "https://api.dailymotion.com/me/videos";
foreach($data as $key => $value) {
$fields .= $key . '=' . $value . '&';
}
rtrim($fields, '&');
$post = curl_init();
curl_setopt($post, CURLOPT_URL, $url);
curl_setopt($post, CURLOPT_POST, count($data));
curl_setopt($post, CURLOPT_POSTFIELDS, $fields);
curl_setopt($post, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($post);
curl_close($post);
print_r(json_decode($result));
有人请帮我解决这个问题。
答案 0 :(得分:1)
我认为您的视频网址存在问题,看起来它未被视为视频:
invalid content type: text/plain, must be video/* [type]
您应该使用通过api发送的上传网址:执行HTTP GET到/ file / upload以获取上传网址,并使用multipart / form-data content-type将视频发布到此地址,文件中包含视频领域。使用此URL测试代码时,它可以正常工作。
我有两条评论:为什么不使用php sdk?这将使您的一切变得更加轻松!此外,为了发布您的视频,您应该为其指定标题和频道,并设置"已发布"在您的数据数组中为true:
$data = array(
"access_token" => $token,
"channel" => "news",
"title" => "my title",
"published"=> True,
"url" => $videourl
);
以下对此进行了描述:http://www.dailymotion.com/doc/api/getting-started.html#publishing-videos 你可以在http://www.dailymotion.com/doc/api/use-cases.html
找到一个使用php sdk的用例