我有一个电子邮件地址,想知道是否有Facebook用户链接到此地址.如果有,那么我想检索此用户个人资料页面的网址并将其保存在某处.我没有 Facebook应用程序,但是,如果有必要,我会使用现有的帐户数据登录到Facebook并执行任务.
我认为这将是一项轻松的任务,但不知何故并非如此.我阅读了Graph API文档,在那里您可以找到有关如何搜索公共数据的说明.它说格式是:
https://graph.facebook.com/search?q=QUERY&type=OBJECT_TYPE
但随着电子邮件地址尝试这种q PARAM和用户的类型没有在进一步的信息结果PARAM OAuthException说"访问令牌才能请求该资源." 但是,如果单击示例搜索链接,Facebook将生成一个URL,其中包含与当前登录用户相关的提及的访问令牌.使用此令牌执行搜索可获得预期结果.但我无法弄清楚如何在登录后获得此用户会话访问令牌.每次我搜索如何获取访问令牌时,我只能找到有关Facebook应用程序的信息并检索基本或特定数据访问的权限.正如我所提到的,这不是我想要的,因为我没有,也不需要Facebook应用程序.
由于Facebook在示例链接中提供了所需的令牌,我认为它也不应该成为问题.或者他们只是因为主场优势而拥有它?此外,Facebook的Outlook社交连接器提供程序只能通过电子邮件地址(以及提供的帐户数据)检索Facebook数据.所以我想,如果微软能做到这一点,我也应该做同样的事情.
最后但并非最不重要的是,这更令人沮丧,因为我理论上和实际上已经能够通过搜索电子邮件地址找到用户个人资料网址.我甚至不必登录Facebook.它不是官方的API方式.
如果我执行Web请求,http://www.facebook.com/search.php?init=s:email&q=example@domain.com&type=users我会得到预期的搜索结果.问题是我必须解析HTML代码并提取url(这没关系),结果页面可能会发生变化,并且很容易破坏我的方法来提取url(有问题).
那么有人知道完成给定任务的最佳方法是什么?