有没有办法检查Kik用户是否已经授权而没有可能提示他们进行授权?

时间:2016-01-06 18:04:23

标签: javascript api kik

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

Kik通过Kik api为我们提供了这个javascript(我在coffeescript中记录过)来检查用户是否授权应用访问他们的用户数据:

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

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

这是有问题的,因为我的网络应用程序应具有不同的功能,具体取决于用户是否已获得授权,其中一个功能是为用户提供“登记入住”功能。如果没有,则提示他们进行授权的按钮。

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

  2. 此外,有没有办法用JS识别实际授权事件(即用户实际按下“是”按钮,关闭要求授权的窗口)?

  3. 已经授权的用户是否可以“未经授权”,如果有,是否可以识别何时发生这种情况?

  4. 潜在的解决方法是存储"授权"我的用户数据库中的布尔值(或者更确切地说,只有在授权的情况下才在数据库中生成用户),并且只对已标记为已授权的用户运行kik.getUser。但是,如果用户可以变得“未经授权”,则可能无法正常工作。

1 个答案:

答案 0 :(得分:1)

您正在寻找的API是 /** * Description for 7.04 Weight project * `* @author (Your Name) * @version (The Date) import java.util.Scanner; import java.io.File; import java.io.IOException; public class Weight { // write static methods here // Note: formula for finding weight on a planet: Earth weight divided by Gravity constant times surface gravity public static void getGravity(double [] gravity)throws IOException { File fileName = new File("gravity.txt"); Scanner inFile = new Scanner(fileName); int i = 0; while(inFile.hasNext()) { gravity[i] = inFile.nextDouble(); } } public static void printResults(String[] name, double gravity[] ,double[] weight) { for (int i = 0; i <=8; i++) { System.out.printf(" %-7s %3.1f %7s", name[i], gravity[i] , weight[i]); } } public static double[] calcWeight(double [] gravity) { double myWeight = 100.0; int i = 0; for (i = 0; i <= 8; i++) { gravity[i] = gravity[i] * myWeight; } return gravity; } public static void main(String[] args)throws IOException { // Extension idea... instead of hard codeing the weight, you may propt the user for input. double earthWeight = 100.0; // initalize Earth weight to 100 lbs. String[] names = {"Mercury", "Venus", "Earth", "Mars", "Jupiter", "Saturn", "Uranus", "Neptune", "Pluto"}; double[] gravity = getGravity(); // static method you write double[] weight = calcWeight(earthWeight, gravity); // static method you write printResults(names, gravity, weight); // static method you write } //end main

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