簡體   English   中英

谷歌上的行動,Oauth帳戶鏈接

[英]actions on google, Oauth account Linking

我一直在嘗試將助手操作連接到我的后端服務器我正在使用自己的Oauth服務器,並按照https://developers.google.com/actions/identity/oauth2?oauth=code上的說明操作我正在使用actions_intent_Sign_in對話框事件意圖(如https://actions-on-google.github.io/actions-on-google-nodejs/classes/conversation_helper.signin.html )當我使用我的操作登錄時,我獲得登錄窗口我的服務器,我做帳戶鏈接,我可以看到我在我的服務器上生成令牌但我無法在(conv.user.access.token)中找到令牌

這是我使用“google sdk上的操作”的意圖的代碼

 'use strict'; var _ = require('lodash'); var path = require('path') var express = require('express') var http = require('http') const bodyParser = require('body-parser'); var expressApp = express().use(bodyParser.json()); var server = http.createServer(expressApp).listen(3000) const { dialogflow, SignIn } = require('actions-on-google'); const app = dialogflow({ debug: true, clientId: '7b4a6dfc-4b35-11e9-8646-d663bd873d93' }); app.intent('Start Sign-in', conv => { conv.ask(new SignIn()); }); app.intent('Get Sign-in', (conv, params, signin) => { console.log("get sign in "); console.log(JSON.stringify(signin)); if (signin.status === 'OK') { const access = conv.user.access.token console.log("the access token is " + access); conv.ask('Great, thanks for signing in! What do you want to do next?'); } else { conv.ask('I wont be able to save your data, but what do you want to do next?.'); } }); 

並且響應回來了

 {"@type":"type.googleapis.com/google.actions.v2.SignInValue","status":"OK"} the access token is undefined Response { "status": 200, "headers": { "content-type": "application/json;charset=utf-8" }, "body": { "payload": { "google": { "expectUserResponse": true, "richResponse": { "items": [ { "simpleResponse": { "textToSpeech": "Great, thanks for signing in! What do you want to do next?" } } ] } } } } } 

conv的用戶對象只有這些數據

 "user": { "raw": { "lastSeen": "2019-03-20T12:46:23Z", "locale": "en-US", "userId": "okdhyeGSk5tofgLjEepIUrA6mmewCESY8MjklZRPvQJgv6-uybfPobwdfgtrGZJ3bE2sM9ninhst" }, "storage": {}, "_id": "okdhyeGSk5tofgLjEepIUrA6mmewCESY8MjklZRPvQJgv6-uybfPobwdfgtrGZJ3bE2sM9ninhst", "locale": "en-US", "permissions": [], "last": { "seen": "2019-03-20T12:46:23.000Z" }, "name": {}, "entitlements": [], "access": {}, "profile": {} } 

我不知道在哪里可以找到訪問/刷新令牌,或者是否有任何要求從我的oauth服務器發送我錯過的帖子

所以最后我設法讓它在Google支持團隊的操作幫助下工作

問題是我有另一個谷歌帳戶登錄在另一個選項卡,即使我有AoG和dialogflow代理連接到同一個帳戶

嘗試所有使用隱身窗口,它的工作原理

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM