Actions on google 请求同步始终返回404:“;错误:找不到请求的实体。”;

Actions on google 请求同步始终返回404:“;错误:找不到请求的实体。”;,actions-on-google,google-home,google-smart-home,Actions On Google,Google Home,Google Smart Home,我很难实现requestSync。它总是回来 "error": { "code": 404, "message": "Requested entity was not found.", "status": "NOT_FOUND" } 我使用Node.js/Express作为后端。与Google Home应用程序的链接/取消链接和“我的行动”同样有效。真正失败的是requestSync部分 我找到的最近的票,虽然不完全一样 我尝试过的事情 agentUserId

我很难实现requestSync。它总是回来

  "error": {
    "code": 404,
    "message": "Requested entity was not found.",
    "status": "NOT_FOUND"
  }
我使用Node.js/Express作为后端。与Google Home应用程序的链接/取消链接和“我的行动”同样有效。真正失败的是requestSync部分

我找到的最近的票,虽然不完全一样

我尝试过的事情

  • agentUserId是一个字符串,但如果我给它传递一个数字,它将返回一个400,并显示消息“代理用户id处的值无效”

  • 尝试发送代理\用户\ id而不是agentUserId,这将返回404错误,与发送agentUserId时的错误相同

  • 已尝试删除正文的“async:true”部分。没有注意到差异
  • 在同步过程中,硬编码agentUserId的值以消除发送错误的可能性。我在requestSync期间使用了相同的agentUserId,但失败了
  • 尝试在google home应用程序中多次链接/取消链接
  • 另一件值得注意的有趣事情是:在google控制台上打开actions上的“测试套件”时,我输入了相同的agentUserId+服务帐户密钥,它注册得很好:我能够正确地看到我的设备列表。这让我相信我的agentUserId是正确的(这可能是一个错误的假设)
  • 我100%确信HomeGraph已启用,因为我可以在控制台HomeGraph API部分的“概述”部分中看到图表上的数据
这就是卷曲的样子(与示例中的相同)

(本例中我的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"
  }

我不知道还能从哪里找出这个问题。任何指示都会有帮助。谢谢你终于找到了答案


离这里不远。尽管我的问题是,当我生成API密钥时,google home cloud控制台默认打开了错误的项目。我一直使用错误的API密钥。

我的帐户是经过验证的计费帐户。但我仍然面临同样的问题。你能查一下我的电话号码吗?
  "error": {
    "code": 404,
    "message": "Requested entity was not found.",
    "status": "NOT_FOUND"
  }