我正在构建一个webapp + android应用程序,并认为如果我能向“Alice”显示她的哪些朋友也使用该服务将会很有用。
用户身份验证是通过google oath2完成的,因此我可以访问所有用户的电子邮件。
我想知道如何构建这样的查询?因为我基本上拥有的是
我宁愿没有“我们是朋友是/否”系统,并且通过用户循环整个联系人列表似乎非常浪费。后端运行在php + mysql上。
我如何查询我感兴趣的人名单?
答案 0 :(得分:3)
PhotoHunt目前就是这样做的。它通过执行以下步骤来完成此操作:
在视觉上,我描述的图表如下,箭头表示从一个用户到另一个用户的边缘:
对于Photohunt,从任何用户到任何其他用户的边缘将创建一种关系,他们在网站上看到彼此连接。在此过程中,您将创建最全面的用户图,最大化用户之间的连接并最大化关系内容流中显示的内容量。
由于图表以这种方式解释为Photohunt,Bob,Alice和Chet都看到他们通过Google+建立了关系,这反映在“社交”内容流中。在计算上,每次新用户与您的网站连接时,您只需要执行检查。
然而,可能存在隐私问题:爱丽丝是否希望鲍勃知道她在网站上?
为了缓解此隐私问题,您还可以在识别出Alice在Bob的圈子中时执行另一项检查,然后对Alice的可见人员执行第二次people.list API调用。当Bob与Alice建立连接时,您可以确保Bob与Alice有关系,然后才能显示两个用户都在该站点上。因此,只有具有相互联系的人才会知道他们在网站上。对于这种情况,只有切特和爱丽丝会看到对方,只有鲍勃和切特才能看到对方。因为Bob和Alice没有相互联系,所以他们没有看到对方。
图表的第三种解释是跟踪“在可见的人中”,关系,跟踪“在我的可见人员列表中”,最后,“已经相互可见”你的网站。
正如布雷特指出的那样,乔安娜澄清道,对于产生相互关系或部分关系会产生影响。您可能需要为Google+用户ID保留边缘图表,以存储您网站上尚不存在的连接,或者您必须有效地轮询识别连接的所有用户。但是,如果您想将资源用于生成私有图,那么今天就可以这样做。在手机上执行这些计算的含义相当可怕。如果你这样做,我建议你在PHP / MySQL服务器上计算和维护图形服务器端。
从数据库的角度来看,您只会存储“边缘”关系。这极大地简化了对图形的查询,并且只返回那些具有创建您想要跟踪或公开的关系所需的正确边缘约束的用户。
答案 1 :(得分:0)
API调用有一个已知的功能请求可以执行此操作。如果您想跟踪此API调用的此进度,可以将以下问题加以解决,以获取其上的电子邮件更新。 https://code.google.com/p/google-plus-platform/issues/detail?id=531