需要在header请求头中加上 “User-Agent: xxxxxxx/2.0.0” , 即可解决
完整代码如下:
/**
* workDrive解压文件
* @param $resource_id 解压文件id
* @param $tokens token
* @param $folder_id 解压文件指定目录id
*/
public function unzip($resource_id,$tokens,$folder_id) {
//解压压缩文件
$upload_url = " https://www.zohoapis.com/workdrive/api/v1/files/$folder_id/unzip";
$header = [
'Accept: application/vnd.api+json',
'Authorization:Zoho-oauthtoken '.$tokens,
"Content-Type: application/vnd.api+json",
"User-Agent: xxxxxxx/2.0.0",
];
$upload = [
"data" => [
"type" => "unzip",
"attributes" => [
"resource_id" =>"$resource_id",
"selected_file_extraction" =>"false",
"merge" => "no"
],
]
];
$upload_data = json_encode($upload);
return $this->http_curl_post($upload_url,$upload_data,$header);
}
/**
* curl post请求
* @param $url 请求url
* @param $post_string 参数数据
* @param $header header
*/
public function http_curl_post($url, $post_string,$header) {
$ch = curl_init(); // 启动一个CURL会话
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER,$header);
curl_setopt($ch, CURLOPT_URL, $url); // 要访问的地址
$output = curl_exec($ch);
curl_close($ch);
return $output;
}