Мне сложно реализовать requestSync. Он всегда возвращается
"error": {
"code": 404,
"message": "Requested entity was not found.",
"status": "NOT_FOUND"
}
Я использую Node.js / Express для бэкэнда. Привязка / отмена связи с приложением Google Home работает, и мои действия тоже работают. Это действительно часть requestSync, которая терпит неудачу.
Ближайший билет, который я нашел, хотя и не совсем такой, это один.
Вещи, которые я пробовал
agentUserId - это строка, но если я передам ей число, она вернет 400 с сообщением «Неверное значение в 'agent_user_id'».
попытался отправить agent_user_id вместо agentUserId, это возвращает 404 ту же ошибку, что и при отправке agentUserId
- попытался удалить часть тела "async: true". разницы не заметил.
- во время SYNC жестко запрограммировано значение agentUserId, чтобы исключить возможность отправки неправильного. Я использую тот же agentUserId во время requestSync, и это не удается.
- несколько раз пытался установить / отменить связь в приложении Google Home
- еще одна интересная вещь, на которую следует обратить внимание: при открытии «Test Suite» из действий на консоли Google я ввожу тот же ключ учетной записи службы agentUserId +, и он хорошо его регистрирует: я могу видеть свои устройства в списке правильно. Это заставляет меня поверить, что мой agentUserId правильный (это может быть ложным предположением)
- Я на 100% уверен, что HomeGraph включен, так как я могу видеть данные на диаграммах в разделе «Обзор» части консоли HomeGraph API.
Так выглядит завиток (как в примере)
curl -i -s -X POST -H "Content-Type: application/json" -d "{agent_us
er_id: \"1\"}" "https://homegraph.googleapis.com/v1/devices:requestSyn
c?key=API_KEY"
(мой agentUserId в этом случае равен 1)
А вот как это выглядит в коде:
const res = await fetch(
`https://homegraph.googleapis.com/v1/devices:requestSync?key=${config.googleApiKey}`,
{
method: 'POST',
body: JSON.stringify({
agentUserId: String(userId),
async: true,
}),
headers: { 'Content-Type': 'application/json' },
},
);
Независимо от того, что я делаю, результат всегда:
"error": {
"code": 404,
"message": "Requested entity was not found.",
"status": "NOT_FOUND"
}
Я не знаю, где еще искать, чтобы определить эту проблему. Любые указатели помогут. Спасибо