Как отправить 401 запрос на отключение аккаунта Google от Action - PullRequest
0 голосов
/ 09 июля 2019

Я пытаюсь разрешить пользователю моего действия Google отменить связь своего аккаунта с помощью голоса (например, произнесение "unlink"). При этом им будет предложено повторно связать свою учетную запись при повторном использовании действия.

Я попытался вернуть код состояния 401, но я получаю сообщение об ошибке «Не удается установить заголовки после их отправки» в журналах. Приведенная ниже функция срабатывает, когда пользователь говорит «unlink».

const functions = require('firebase-functions');
const {WebhookClient} = require('dialogflow-fulfillment');
const {SignIn} = require('actions-on-google');

process.env.DEBUG = 'dialogflow:*'; // Enable lib debugging statements

exports.dialogflowFirebaseFulfillment = functions.https.onRequest((request, response) => {
  const agent = new WebhookClient({request: request, response: response});

  var accessToken = request.body.originalDetectIntentRequest.payload.user.accessToken;
  oauth2Client.setCredentials({
    access_token: accessToken
  });  

  function welcome(agent) {
    const conv = agent.conv();
    conv.ask(new SignIn('To get your account details'));
    agent.add(conv);
  }

  function signInCheck(agent) {
    const conv = agent.conv();
    const granted = conv.arguments.get('SIGN_IN').status === 'OK';

    if(granted){
      oauth2Client.setCredentials({
        access_token: accessToken
      }); 
      agent.add(`Welcome.`);
    } 
  }

  function unlinkAccount(agent) {
    agent.add(`OK. I unlinked your account.`);

    response.status(401).send("I unlinked your account.");
    return;
  }

});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...