有没有办法在不提示 Kik 用户授权的情况下检查 Kik 用户是否已授权?

Is there a way to check if a Kik user has authorized without potentially prompting them for authorization?

我正在开发一款基于兴趣匹配 Kik 用户的应用程序。 Kik 用户可以与我编写的机器人聊天,然后机器人会根据他们的兴趣将他们链接到网络应用程序中的页面。

Kik 通过 Kik api 向我们提供此 javascript(我已在 coffeescript 中记录)以检查用户是否已授权该应用程序访问其用户数据:

if kik.enabled
  kik.getUser (user) ->
    if user

这可行,但它必须将这两个功能合二为一。也就是说,检查用户是否被授权和提示用户授权都在 kik.getUser 运行 时触发。

这是有问题的,因为我的网络应用程序应该根据用户是否已授权而具有不同的功能,其中之一是为用户提供一个 'check-in' 按钮,如果他们没有授权则提示他们授权.

  1. Kik 是否提供单独的方法来检查用户是否已授权?

  2. 此外,有没有办法用 JS 识别实际的授权事件(即用户实际按下 'yes' 按钮,关闭请求授权的 window) ?

  3. 已经授权的用户是否可以 'unauthorized',如果是,有没有办法识别何时发生这种情况?

一个潜在的解决方法是在我的用户数据库中存储一个 "authorized" 布尔值(或者更确切地说,如果他们已经授权,只在数据库中生成一个用户),并且只 运行 kik.getUser 对于已标记为已授权的用户。但是,如果用户可以成为 'unauthorized'.

,这可能不起作用

您要找的API是kik.hasPermission()

http://dev.kik.com/docs/#identity-user