Что Туя ожидает от «сообщения» в вызовах API?
Я пытаюсь взаимодействовать с Tuya API из веб-приложения PHP.
Я должен аутентифицировать пользователя с помощью идентификатора пользователя и подписать, чтобы получить ТОКЕН.
Основная проблема - я могу понять, что нужно написать в поле «сообщение» при генерации ЗНАКА.
Ниже приведен код, который я использую для запроса к API управления авторством:
$secret = 'secret';
$clientId = 'client';
$url = "https://openapi.tuyaeu.com/v1.0/token?grant_type=1";
$s = strtoupper(hash_hmac("sha256", "Message",$secret));
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$headers = array(
"sign_method: HMAC-SHA256",
"client_id: *MY ID*",
"secret: *MY Secret code*",
"sign:".$s,
"t: " . time()*1000,
"Content-Type: application/json",
);
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
//for debug only!
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
$resp = curl_exec($curl);
curl_close($curl);
var_dump($resp);
Итак, теперь мой запрос генерирует ответ «неправильный знак». Наверное, потому что сначала я не знаю, что поместить в "сообщение" в коде генерации знаков.
1 ответ
Решение
Solved:
- To recieve token, "message" should be MY ID + time()*1000
- To recieve data, "message" => my id + token (from 1)) + time()*1000