Request Sync always returns 404 : "Error: Requested entity was not found."
Request Sync always returns 404 : "Error: Requested entity was not found."
我很难实现 requestSync。它总是 returns
"error": {
"code": 404,
"message": "Requested entity was not found.",
"status": "NOT_FOUND"
}
我使用 Node.js/Express 作为后端。 linking/unlinking 和 Google Home 应用程序可以正常工作,我的操作也可以。确实是 requestSync 部分失败了。
我找到的最近的票,虽然不完全一样,is this one。
我尝试过的事情
agentUserId 是一个字符串,但如果我向它传递一个数字,它会 returns 一个带有消息 "Invalid value at 'agent_user_id'" 的 400。
尝试发送 agent_user_id 而不是 agentUserId,这个 returns 404 与我发送 agentUserId
时相同的错误
- 尝试删除 body 的 "async:true" 部分。没有注意到差异。
- 在 SYNC 期间,对 agentUserId 的值进行了硬编码,以消除我发送错误的可能性。我在 requestSync 期间使用了相同的 agentUserId,但失败了。
- 在 google 家庭应用程序中 linking/unlinking 多次尝试
- 另一个需要注意的有趣的事情:当从 google 控制台上的操作打开 "Test Suite" 时,我输入了相同的 agentUserId + 服务帐户密钥,它注册得很好:我'我能够看到我的设备正确列出。这让我相信我的 agentUserId 是正确的(这可能是一个错误的假设)
- 我 100% 确定 HomeGraph 已启用,因为我可以在控制台 HomeGraph API 部分的 "Overview" 部分的图表上看到数据。
这是卷曲的样子(与示例相同)
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"
}
我不知道还有什么地方可以确定这个问题。任何指针都会有所帮助。谢谢
终于找到答案了。
离the one I had posted above不远。虽然我的问题是当我生成了一个API键的时候,google家云控制台默认打开了错误的项目。我一直有错误的 API 密钥。
我很难实现 requestSync。它总是 returns
"error": {
"code": 404,
"message": "Requested entity was not found.",
"status": "NOT_FOUND"
}
我使用 Node.js/Express 作为后端。 linking/unlinking 和 Google Home 应用程序可以正常工作,我的操作也可以。确实是 requestSync 部分失败了。
我找到的最近的票,虽然不完全一样,is this one。
我尝试过的事情
agentUserId 是一个字符串,但如果我向它传递一个数字,它会 returns 一个带有消息 "Invalid value at 'agent_user_id'" 的 400。
尝试发送 agent_user_id 而不是 agentUserId,这个 returns 404 与我发送 agentUserId
时相同的错误
- 尝试删除 body 的 "async:true" 部分。没有注意到差异。
- 在 SYNC 期间,对 agentUserId 的值进行了硬编码,以消除我发送错误的可能性。我在 requestSync 期间使用了相同的 agentUserId,但失败了。
- 在 google 家庭应用程序中 linking/unlinking 多次尝试
- 另一个需要注意的有趣的事情:当从 google 控制台上的操作打开 "Test Suite" 时,我输入了相同的 agentUserId + 服务帐户密钥,它注册得很好:我'我能够看到我的设备正确列出。这让我相信我的 agentUserId 是正确的(这可能是一个错误的假设)
- 我 100% 确定 HomeGraph 已启用,因为我可以在控制台 HomeGraph API 部分的 "Overview" 部分的图表上看到数据。
这是卷曲的样子(与示例相同)
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"
}
我不知道还有什么地方可以确定这个问题。任何指针都会有所帮助。谢谢
终于找到答案了。
离the one I had posted above不远。虽然我的问题是当我生成了一个API键的时候,google家云控制台默认打开了错误的项目。我一直有错误的 API 密钥。