我正在尝试从其个人资料中获取用户设置的家庭住址。在设备上进行测试时,始终在配置文件中将其设置为空。
以下是用于提取信息的操作:
action (ReturnSelfAddress) {
type (Constructor)
description (Gets address from profile)
collect {
input (mySelf) {
min (Required)
type (self.Self)
}
}
output (geo.SearchTerm)
}
这与一个JavaScript文件一起,该JavaScript文件从home
字段中提取了self.addressInfos
地址。
这是我在设备上的个人资料的屏幕截图:
和另一个地址。
在测试中,我使用的是真实地址。
我从配置文件中得到的自我对象是:
{
addressInfos = [],
birthdayInfo = {
calculatedFromNow = null,
day = 1,
fuzzyFactor = null,
holiday = null,
month = 1,
namedDate = null,
parseTree = null,
year = 1911,
$id = null,
$type = viv.contact.BirthdayInfo
},
contactId = null,
emailInfos = [{
address = fake@fake.com,
emailType = Home,
$id = null,
$type = viv.contact.EmailInfo
}],
isFavorite = null,
nameInfo = {
firstName = Bill,
initial = null,
lastName = Faker,
middleName = null,
nickName = ,
prefix = null,
structuredName = Bill Faker,
suffix = null,
$id = null,
$type = viv.contact.NameInfo
},
phoneInfos = [],
photoInfo = {
caption = null,
dimensions = null,
rotation = null,
size = null,
subtitle = null,
title = null,
url = http://image.to.be.put/here,
$id=null, $type=viv.contact.PhotoInfo
},
relationshipInfos=[],
workInfo=null,
$id=null,
$type=viv.self.Self
}
您可以看到addressInfos
数组为空。我应该如何访问用户的个人资料地址?
答案 0 :(得分:1)
viv.self.Self已链接到Samsung帐户。
在设备上的设置->右上角,您将能够编辑您的Samsung帐户。 我刚刚添加了一个工作地址,并且可以使用以下JS代码访问它。
module.exports.function = function displayProfile (self) {
console.log(self)
if (self)
return 'lable = ' + self.addressInfos[0].label + ' address = ' + self.addressInfos[0].address.unstructuredAddress;
else
return 'Not self';
}
当前的IDE可以从您的Samsung帐户获取这些信息,因此您可以进行测试而无需进行设备上的测试。当然,我也可以在私人提交后在设备上进行测试,并且效果很好。
答案 1 :(得分:0)
请仔细检查您的三星帐户中是否填写了地址: https://www.samsung.com/us/support/account/info/