如何在self.Self对象中填充addressInfos对象

时间:2019-06-01 19:03:29

标签: bixby

我正在尝试从其个人资料中获取用户设置的家庭住址。在设备上进行测试时,始终在配置文件中将其设置为空。

以下是用于提取信息的操作:

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地址。

这是我在设备上的个人资料的屏幕截图: Profile

和另一个地址。 Profile

在测试中,我使用的是真实地址。

我从配置文件中得到的自我对象是:

{
    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数组为空。我应该如何访问用户的个人资料地址?

2 个答案:

答案 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 Screenshot

当前的IDE可以从您的Samsung帐户获取这些信息,因此您可以进行测试而无需进行设备上的测试。当然,我也可以在私人提交后在设备上进行测试,并且效果很好。

答案 1 :(得分:0)

请仔细检查您的三星帐户中是否填写了地址: https://www.samsung.com/us/support/account/info/