我试图将寄存器从详细信息连接到 goto-webinar API。我得到了一些代码,如下所示,当我执行这段代码时,我得到了一些错误
<?php
$email = "n.manoj25@gmail.com";
$firstname = "manoj";
$lastname = "kumar";
class ApiClient {
private $oauthToken;
public function __construct($oauthToken) {
$this->oauthToken = $oauthToken;
}
public function post($url, $data) {
$data_string = json_encode($data);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
curl_setopt($ch, CURLOPT_TIMEOUT, '10');
$headers = array(
"Content-Type: application/json",
"Accept: application/json",
"Authorization: OAuth oauth_token={$this->oauthToken}",
"Content-Length: " . strlen($data_string)
);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$ret = curl_exec($ch);
return json_decode($ret);
}
public function get($url) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, '10');
$headers = array(
"Content-Type: application/json",
"Accept: application/json",
"Authorization: OAuth oauth_token={$this->oauthToken}"
);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$ret = curl_exec($ch);
return json_decode($ret);
}
}
class Webinar {
private $developerKey;
private $organizerKey;
protected $client;
// ##########################
private $apps = array(
'MMT' => array(
'developerKey' => '155834115',
'oauthToken' => '',
'organizerKey' => '')
);
public function __construct($app = 'MMT') {
if(!array_key_exists($app, $this->apps)) {
throw new Exception('Invalid argument: unknown developer key');
}
$this->developerKey = $this->apps[$app]['developerKey'];
$this->organizerKey = $this->apps[$app]['organizerKey'];
$this->client = new ApiClient($this->apps[$app]['oauthToken']);
}
public function getUpcoming() {
return $this->client->get("https://api.citrixonline.com/G2W/rest/organizers/{$this->organizerKey}/upcomingWebinars");
}
public function getHistorical() {
return $this->client->get("https://api.citrixonline.com/G2W/rest/organizers/{$this->organizerKey}/historicalWebinars");
}
public function addRegistrant($webinarKey, $email, $firstname, $lastname) {
$url = "https://api.citrixonline.com/G2W/rest/organizers/{$this->organizerKey}/webinars/{$webinarKey}/registrants";
$data = (object) array(
'firstName' => $firstname,
'lastName' => $lastname,
'email' => $email
);
return $this->client->post($url, $data);
}
}
//****************************************************
$api = new Webinar();
print_r($api->addRegistrant);
?>
这是我得到的错误
注意:未定义的属性:C:\wamp\www\webinar_2\new_api.php 中的 Webinar::$addRegistrant 第 105 行
任何知道如何解决这个错误