我正在使用Google的Actions制作智能家居应用。我目前有一个Firebase云功能,可通过请求同步请求调用HomeGraph API。
这是函数的内容:
const {smarthome} = require('actions-on-google');
const app = smarthome({
key: "(My Key)"
});
//Assume UID is the id of the user that we are requesting a sync for
app.requestSync(uid).then((res) => {
return;
}, (e) => {
console.error(e);
});
在此功能的日志中,出现错误:
{ "error": { "code": 403, "message": "The caller does not have permission", "status": "PERMISSION_DENIED" } }
此错误似乎是标准的Google API权限被拒绝的错误响应,但是何时会在Request Sync HomeGraph API调用中发生?
答案 0 :(得分:0)
我遇到这个问题已经很长时间了,所以我决定在此处发布问题和答案,这样其他人就不必浪费时间进行故障排除了。
有两个可能的原因导致此错误发生。
(my key)
替换为您在控制台中输入的键。requestSync()
的uid是有效的用户ID。我的SYNC代码存在缺陷,因此未创建用户。在诊断此问题时,我非常费劲,因为错误消息没有意义。希望这对遇到此问题的人有帮助。