Я реализовал действие помощника Google (AoG) с помощью клиентской библиотеки node.js (работает на платформе Express).Мое действие заключается в реализации привязки аккаунта OAuth.В какой-то момент я хочу отозвать доступ, вернув HTTP-код 401, как указано здесь: Неявное связывание учетной записи AOG - как выполнить сброс?
Я немного исследовал, как именно вернуть пользовательский статускод.Исходя из этой проблемы: https://github.com/actions-on-google/actions-on-google-nodejs/issues/156
Я реализовал промежуточное программное обеспечение, которое дает моим навыкам доступ к объекту ответа Express:
app.middleware((conv: any, framework: any) => {
return new Promise(resolve => {
if (framework.express) {
conv.expressResObject = framework.express.response
}
resolve()
})
})
Затем пытаюсь вызвать в моем обработчике намерений это:
return new Promise((resolve, reject) => {
const expressRes = conv.expressResObject
expressRes.status(401).json({ error: 'user_not_found' })
resolve()
})
, что привело к ошибке:
Обнаружено отклонение от обещания!Необработанный отказ в: Обещание Ошибка: не удается установить заголовки после их отправки.
....
at standard.then.catch (...\node_modules\actions-on-google\dist\framework\express.js:38:38)
У кого-нибудь есть опыт отправки пользовательского заголовка из клиентской библиотеки AoG / обработчика намерений?