使用YQL获取Yahoo联系人姓名和电子邮件地址

时间:2011-04-01 20:19:21

标签: contacts yql yahoo-api

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

起初我用过这个:

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

通过此查询,我希望我可以立即获取当前登录用户的所有联系人。但是在解析并仅选择具有电子邮件字段的记录之后,结果列表远远少于我使用Facebook的查找朋友时的结果列表。我想facebook不仅使用Contacts表,还使用Profile表,因为我在授予私人数据访问权限时在Yahoo授权页面中看到它。

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

1 个答案:

答案 0 :(得分:3)

在尝试一些测试之后,我发现当我从我的Yahoo联系人导入电子邮件地址时,如果联系人没有电子邮件字段,Facebook会自动猜测联系人的电子邮件地址,方法是将@yahoo.com附加到其yahooid字段。我认为,这是完全错误的。因为有一个yahooid,比如“john123”,相关的电子邮件可能有一个国际域名,如 john123@yahoo.co.uk john123@yahoo.com.vn 等。

我的雅虎联系人列表中有一位朋友。他有一个与@yahoo.com.vn电子邮件地址相关联的yahooid。在将我的Yahoo联系人导入Facebook之前,我确保他的联系人条目中没有电子邮件字段,只是名称和yahooid字段。导入Facebook后,Facebook将我朋友的电子邮件地址确定为@yahoo.com电子邮件。当然,Facebook邀请邮件从未联系到他。

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