如何通过php api更新youtube视频?

如何通过php api更新youtube视频?,php,api,youtube,Php,Api,Youtube,我将用如下代码更新视频: $headers = array("PUT /feeds/api/users/default/uploads/VIDEOID HTTP/1.1", "Host: gdata.youtube.com", "Authorization: GoogleLogin auth=".$authvalue, "GData-Version: 2", "X-GData-Key: key=KEY", "Content-length: ".strlen($data), "Content-Ty

我将用如下代码更新视频:

$headers = array("PUT /feeds/api/users/default/uploads/VIDEOID HTTP/1.1",
"Host: gdata.youtube.com",
"Authorization: GoogleLogin auth=".$authvalue,
"GData-Version: 2",
"X-GData-Key: key=KEY",
"Content-length: ".strlen($data),
"Content-Type: application/atom+xml; charset=UTF-8");
$curl = curl_init("https://gdata.youtube.com/feeds/api/users/default/uploads/VIDEOID");
curl_setopt($curl, CURLOPT_USERAGENT, $_SERVER["HTTP_USER_AGENT"]);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_TIMEOUT, 10);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
curl_setopt($curl, CURLOPT_REFERER, true);
curl_setopt($curl, CURLOPT_HEADER, 0);
$returnxxx = curl_exec($curl);
curl_close($curl);
echo $returnxxx;
我已经生成了一个valide authvalue(已测试->确定)。但它表明:

无效的uri


谢谢你的帮助

@Marc B谢谢你的提示!
我使用了
curl_setopt($curl,CURLOPT_CUSTOMREQUEST,'PUT')而不是
curl\u setopt($curl,CURLOPT\u POST,1)

您的标题定义了一个PUT,但您将curl设置为执行POST。对于put,您需要使用CULLOPT_put。@Kiro Coneski否-我将更新/编辑视频信息->请参见此处:谢谢!