我想用我的胶囊向用户打个招呼。 我查看了this页,其中包含我需要的所有内容。 我添加了capsule-import /权限来执行此操作。但是我无法从JavaScript代码内部访问此用户信息。
Confirmation.js:
var config = require('config')
var http = require('http')
var console = require('console')
module.exports.function = function getConfirmation ($vivContext, $user) {
let result = "Hello"
console.log($user)
console.log($vivContext)
return result
}
capsule.bxb
capsule {
id (fastforward.oauthGoogleTest)
version (0.1.0)
format(3)
store-sections {
section (Photography)
section (NewsAndMagazines)
}
capsule-categories{
category (News)
}
targets{
target (bixby-mobile-en-US)
}
marketplace-constraints {
country-constraints {
allowed-list {
allow (US)
allow (KR)
}
}
}
permissions{
// bixby-user-id-access
user-profile-access
}
runtime-flags {
use-input-views-for-selection-list-detail
modern-default-view-behavior
concepts-inherit-super-type-features
modern-prompt-rejection
support-halt-effect-in-computed-inputs
no-filtering-with-validation
}
capsule-imports {
import (viv.contact) {
as (contact)
version (2.5156.4)
}
import (viv.self) {
as (profile)
version (3.5.167)
}
}
}
hello_world.model.bxb
action (hello_world) {
type (Search)
description (just a small test for oauth)
output (confirmation)
}
endpoints.bxb
endpoints {
action-endpoints {
action-endpoint (hello_world) {
local-endpoint (Confirmation.js)
accepted-inputs ($vivContext, $user)
authorization: user
}
}
}
我想访问用户信息是我的javascript代码,该怎么办?
答案 0 :(得分:2)
这些信息不在$ vivContext中,有关$ vivContext的详细信息,请参见https://bixbydevelopers.com/dev/docs/dev-guide/developers/actions.js-actions#passing-user-context-information。
要从viv.self中提取信息,您需要执行以下计算输入。
// self can be computed rather than explicitly passed
computed-input (self) {
type (self.Self) // import viv.self { as (self) }
min (Optional) max (One)
compute {
intent {
goal: self.Self
route: self.GetSelf
}
}
}
通过https://bixbydevelopers.com/dev/docs/dev-guide/developers/library.self
了解有关viv.self的更多信息请注意,有一个错字应该将viv.self导入为(self)
答案 1 :(得分:0)
Erik, 这是“计算输入” ref doc
的链接我正在尝试与您做同样的事情,但没有设法使它起作用
编辑...。我能够使计算输入起作用,并检索名字和姓氏以及电子邮件地址,但是由于某些原因,我无法获得邮件地址