Google HomeGraph API: ошибка PERMISSION_DENIED - PullRequest
0 голосов
/ 25 марта 2019

Я делаю приложение для умного дома, используя Actions On Google.В настоящее время у меня есть облачная функция 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" } }

Эта ошибка выглядит как стандартное разрешение API Google, которому отказано в ответе на ошибку, но когда это произойдет при вызове API HomeGraph Синхронизации запросов?

1 Ответ

0 голосов
/ 25 марта 2019

У меня была эта проблема довольно долгое время, и я решил опубликовать вопрос и ответ здесь, чтобы другие не тратили впустую потраченное время на устранение неполадок.

Существует две возможные причины возникновения этой ошибки.

  1. Наиболее логичная причина: убедитесь, что вы предоставили действительный ключ API в данных, передаваемых конструктору smarthome. Пример в вопросе правильный (конечно, замените (my key) на ключ, который вы сделали в консоли.
  2. Это было причиной ошибки, с которой я столкнулся: убедитесь, что uid, который вы передаете requestSync(), является действительным идентификатором пользователя. В моем коде SYNC был недостаток, поэтому пользователь не был создан. Я очень много пытался диагностировать эту проблему, потому что сообщение об ошибке не имеет смысла.

Надеюсь, это поможет кому-нибудь с этой проблемой.

...