如何从`/ code / program.js`访问bixby胶囊中的Bixby / Samsung配置文件信息(名字/姓氏)

时间:2019-11-12 15:46:34

标签: javascript bixby bixbystudio

我想用我的胶囊向用户打个招呼。 我查看了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代码,该怎么办?

2 个答案:

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

的链接

我正在尝试与您做同样的事情,但没有设法使它起作用

编辑...。我能够使计算输入起作用,并检索名字和姓氏以及电子邮件地址,但是由于某些原因,我无法获得邮件地址