Я попробовал архивирование образцов в библиотеке opentok, и оно работало нормально. Но когда я пробовал это на моем сайте в localhost или на сервере, я всегда получаю эту ошибку:
Неустранимая ошибка: необработанное исключение «Guzzle \ Http \ Exception \ ClientErrorResponseException» с сообщением «Ответ клиента об ошибке
[код состояния] 404
[причина фразы] Не найдено
[URL] https://api.opentok.com/v2/partner/44968642/archive‘в /var/www/shabetaro/wp-content/themes/chico-child/library/guzzle/guzzle/src/Guzzle/Http/Exception/BadResponseException.php:43
Трассировки стека:
# 0 /var/www/shabetaro/wp-content/themes/chico-child/library/guzzle/guzzle/src/Guzzle/Http/Message/Request.php(145): Guzzle \ Http \ Exception \ BadResponseException :: factory (Объект (Guzzle \ Http \ Message \ EntityEnclosingRequest), Объект (Guzzle \ Http \ Message \ Response))
# 1 [внутренняя функция]: Guzzle \ Http \ Message \ Request :: onRequestError (Object (Guzzle \ Common \ Event), ‘request.error’, Object (Symfony \ Component \ EventDispatcher \ EventDispatcher))
# 2 /var/www/shabetaro/wp-content/themes/chico-child/library/symfony/event-dispatcher/Symfony/Component/EventDispatcher/EventDispatcher.php(164): call_user_func (Array, Object (Guzzle \ Common \) Событие), ‘request.error’, Object (Symfony \ Component \ Eve в /var/www/shabetaro/wp-content/themes/chico-child/library/opentok/opentok/src/OpenTok/Util/Client.php на линия 200
Код:
Jquery
$.ajax({
url: ggeajax.ajaxurl,
data: {
'action': 'gge_start_archive',
'api' : api
}
});
PHP
function gge_start_archive()
{
$api = $_REQUEST['api'];
$opentok = getInstance('Helper_Opentok');
gge_log("Starting archive", array('sessionID' => "Archive"));
$archiveID = $opentok->start_archive($api['sessionID'], "Archive");
die();
}
add_action('wp_ajax_gge_start_archive', 'gge_start_archive');
OPENTOK
use OpenTok\OpenTok;
use OpenTok\Session;
use OpenTok\Role;
use OpenTok\MediaMode;
class Helper_Opentok {
public function initialize()
{
$option = get_option('chico_settings');
return new OpenTok($option['opentok_api'], $option['opentok_token']);
}
public function start_archive($sessionId, $name)
{
$opentok = $this->initialize();
$archiveId = $opentok->startArchive($sessionId, $name);
gge_log("Generate archiveId", array('archiveId' => $archiveId, 'name' => $name, 'user' => get_userdata(get_current_user_id())));
return $archiveId;
}
}
Задача ещё не решена.
Других решений пока нет …