Я пытаюсь использовать API Sinch Rest с PHP для отключения и включения определенных участников из конференц-связи, но не смог найти пример того, как отправить подписанный запрос приложения с помощью PHP.Я пытался отработать эту документацию от Sinch здесь https://www.sinch.com/docs/voice/rest/index.html#muteunmuteconfparticipant
Мои первоначальные предположения состоят в том, что это потребует использования CURL, и что мне также потребуется использовать аналогичные фрагменты этого примера, чтобы подписать мойприложения, но я не уверен, как объединить два. https://github.com/sinch/php-auth-ticket
Любая помощь приветствуется. Спасибо!
edit: @cjensen Я добавил этот фрагмент кода, над которым я работалпопробуйте использовать в качестве создателя подписанного запроса. Это очень похоже на ссылку github выше
<?php
class SinchTicketGenerator
{
private $applicationKey;
private $applicationSecret;
public function __construct($applicationKey, $applicationSecret)
{
$this->applicationKey = $applicationKey;
$this->applicationSecret = $applicationSecret;
}
public function generateTicket()
{
$request = [
'command' => 'mute',
];
$requestJson = preg_replace('/\s+/', '', json_encode($request));
$requestBase64 = $this->base64Encode($requestJson);
$digest = $this->createDigest($requestJson);
$signature = $this->base64Encode($digest);
$requestSigned = $requestBase64.':'.$signature;
return $requestSigned;
}
private function base64Encode($data)
{
return trim(base64_encode($data));
}
private function createDigest($data)
{
return trim(hash_hmac('sha256', $data, base64_decode($this->applicationSecret), true));
}
}
$generator = new SinchTicketGenerator('app-key', 'app-secret');
$signedrequest = $generator->generateTicket();
echo $signedrequest;
?>