Как получить доступ к объекту запроса в новом API диалогового потока - PullRequest
0 голосов
/ 05 июня 2018

В действиях над объектом запроса Google у меня есть accessToken, который я настраиваю через привязку аккаунта

{
  "user": {
    "userId": "user_id",
    "accessToken": "access_token",
    "locale": "en-US",
    "lastSeen": "2018-06-05T09:52:35Z",
    "userStorage": "{\"data\":{}}"
  },
  etc

Моя функция firebase позволяет искать значения в базе данных Firebase при срабатывании намерения.

import * as admin       from 'firebase-admin'
import * as functions   from 'firebase-functions'
import { dialogflow }   from 'actions-on-google'

const dialogApp = dialogflow();

dialogApp.intent("request_value", async (conv, {devices}) => {
    console.log(devices);
    let device_name = devices;

    const snapshot = await admin.database().ref(`/system/ecofarmTest/component/${device_name}/data`).orderByChild("timestamp").limitToFirst(1).once('value');

    snapshot.forEach(function(childSnapshot) {
        console.log("Test child timestamp " + childSnapshot.val().timestamp)
        console.log("Test child value " + childSnapshot.val().value)

        const value_object = childSnapshot.val();

        conv.ask(`The ${device_name} is ${value_object.value}.\nWould you like to check anything else?`);

        return;
    })

});

export const receiveAssistantRequest = functions.https.onRequest(dialogApp);

Перед изменением API я узнал, как получить доступ к объекту запроса.Но теперь, как мне получить доступ к объекту запроса, чтобы получить accessToken?

Ответы [ 2 ]

0 голосов
/ 07 июня 2018

Я нашел способ сделать это:

let access_token = conv.request.user.accessToken
0 голосов
/ 05 июня 2018

Как только связь с вашим аккаунтом завершена, у вас есть доступ к вашему access_token с

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