晓夏

小皇

教育信息化方案砖家

Zoom php api 接口实例

浏览量:694

先创建一个用来post的函数

function send_post($url, $post_data) {  
	  $postdata = http_build_query($post_data);  
	  $options = array(  
		'http' => array(  
		  'method' => 'POST',  
		  'header' => 'Content-type:application/x-www-form-urlencoded',  
		  'content' => $postdata,  
		  'timeout' => 15 * 60 // 超时时间(单位:s)  
		)  
	  );  
	  $context = stream_context_create($options);  
	  $result = file_get_contents($url, false, $context);  
	  return $result;  
	}

然后copy了一个zoom官方给的API函数,直接使用,注意:官方有部分错误,已被我修正在下面

function zoom($calledFunction, $data){
		$zoom_api_key ='GI1ORPEkjlWWlRg';
		$zoom_api_secret ='1V5w9wScd7xgsoRtmHeC7';
		$zoom_api_url ='https://api.zoom.us/v1/';
		/*Creates the endpoint URL*/
		$request_url = $zoom_api_url.$calledFunction;
		/*Adds the Key, Secret, & Datatype to the passed array*/
		$data['api_key'] = $zoom_api_key;
		$data['api_secret'] = $zoom_api_secret;
		$data['data_type'] = 'JSON';
	
		$postFields = http_build_query($data);
		/*Check to see queried fields*/
		/*Used for troubleshooting/debugging*/
		//echo $postFields.'<br />';
	
		/*Preparing Query...*/
		$ch = curl_init();
		curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
		curl_setopt($ch, CURLOPT_URL, $request_url);
		curl_setopt($ch, CURLOPT_POST, 1);
		curl_setopt($ch, CURLOPT_POSTFIELDS, $postFields);
		curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
		$response = curl_exec($ch);
		/*Check for any errors*/
		//$errorMessage = curl_exec($ch);
		//echo $errorMessage;
		curl_close($ch);
	
		/*Will print back the response from the call*/
		/*Used for troubleshooting/debugging		*/
		//echo $request_url;
		//var_dump($data);
		//var_dump($response);
		if(!$response){
			return false;
		}
		/*Return the data in JSON format*/
		return json_decode($response);
	}


再创建一个函数,用来推送zoom数据和发送邮件

public function create(){
		$topic = $this->input->post('topic');
		$duration = $this->input->post('duration');
		$start_time = $this->input->post('start_time');
		$start_time_cn = $this->input->post('start_time_cn');
		$user = $this->input->post('user');
		$data = array();
		$data['host_id'] = 'tbvwhnd-RlWvGHKp9D1h_g';
		$data['topic'] = $topic;
		$data['password'] = rand(1000,9999);
		$data['duration'] = $duration;
		$data['option_jbh'] = 'true';
		$data['timezone'] = 'Asia/Shanghai';
		$data['start_time'] = $start_time;//'2017-01-25T12:00:00Z'
		$data['type'] = '2';
		$meeting = $this->mylib->zoom("meeting/create", $data);//获取到的是json
		$meeting = $this->mylib->object_array($meeting);
		$message = "
Zoom Meeting Invitation<br /><br />
Topic: ".$topic."<br />
<span style='color:#f00'>Time: Beijing Time ".$start_time_cn." </span><br />
During: ".$duration." minutes<br />
<span style='color:#f00'>Password: ".$meeting['password']." </span><br />
Join from PC, Mac, Linux, iOS or Android:<a href='".$meeting['join_url']."' target='_blank'>".$meeting['join_url']."</a> <br />
Or iPhone one-tap (US Toll):  +14086380968,".$meeting['id']."# or +16465588656,".$meeting['id']."#<br />
Or Telephone:<br />
&nbsp;&nbsp;&nbsp;&nbsp;Dial: +1 408 638 0968 (US Toll) or +1 646 558 8656 (US Toll)<br />
&nbsp;&nbsp;&nbsp;&nbsp;<span style='color:#f00'>Meeting ID: ".$meeting['id']."</span><br />
Or an H.323/SIP room system:<br />
&nbsp;&nbsp;&nbsp;&nbsp;H.323: 162.255.37.11 (US West) or 162.255.36.11 (US East)<br />
&nbsp;&nbsp;&nbsp;&nbsp;Meeting ID: ".$meeting['id']."<br />
";
		$this->Mmail->email('xx@qq.com','Zoom',$user.',ss@d.comc.cn','Zoom Meeting Invitation',$message);
		print_r($meeting);
	}


客户端使用如下代码调用:

/*zoom软件预约*/
		if($room_id==23){
			$zoom_data = array(
				'topic' => $name,
				'duration' => floor(($endtime-$starttime)%86400/60),
				'start_time_cn' => date('Y-m-d',$starttime).'  '.date('H:i:s',$starttime),
				'start_time' => date('Y-m-d',$starttime-(8*3600)).'T'.date('H:i:s',$starttime-(8*3600)).'Z',
				'user' => $create_by.'@d.com.cn'
			); 
			send_post('http://www.d.com.cn/create', $zoom_data); 	
		}


神回复

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。