1

我正在尝试构建一个 Web 应用程序,用户可以在其中使用他们的电子邮件帐户(就像 facebook 一样)邀请他们的朋友。我使用 OAuth,以便用户无需在我的应用程序中输入密码。问题是我无法弄清楚从 Yahoo 社交表中获取联系人姓名和电子邮件地址的正确 YQL 查询是什么,并使用 facebook 的 Find Friends 功能获得相同的结果。

起初我用这个:

SELECT * FROM social.contacts(0, 500) WHERE guid=me

通过这个查询,我希望我可以一次获得当前登录用户的所有联系人。但是在解析并仅选择具有电子邮件字段的记录后,结果列表远远少于我使用 facebook 的 Find Friends 时的结果。我猜 facebook 不仅使用联系人表,还使用个人资料表,正如我在雅虎授权页面中看到的那样,在授予对我的私人数据的访问权限时。

那么使用这两个表获取所有联系人姓名和电子邮件地址的正确 YQL 查询是什么?

4

1 回答 1

3

在尝试了一些测试后,我发现当我从雅虎联系人导入电子邮件地址时,Facebook 会自动猜测联系人的电子邮件地址,以防该联系人没有电子邮件字段,方法是附加@yahoo.com到其 yahoooid 字段。如我所见,这是完全错误的。因为使用 yahoooid,比如“john123”,关联的电子邮件可能有一个国际域,如john123@yahoo.co.ukjohn123@yahoo.com.vn等。

我的雅虎联系人列表中有一个朋友。他有一个与@yahoo.com.vn电子邮件地址相关联的 yahoooid。在将我的雅虎联系人导入 Facebook 之前,我确保他的联系人条目中没有电子邮件字段,只有一个姓名和一个 yahoooid 字段。导入 Facebook 后,Facebook 将我朋友的电子邮件地址确定为@yahoo.com电子邮件。当然,Facebook 的邀请邮件永远不会送达他。

所以,我的问题的答案是:我的 YQL 没有问题。Facebook 可以获取比我更多的电子邮件地址,但其中许多是不正确的。

于 2011-04-10T09:31:18.570 回答