0

我正在我的网络服务中构建一个功能,让人们在一个字段中输入他们的 Facebook URL。因为很少有人知道他们的 FB 用户名或公共个人资料 URL,所以我想提供一个界面来提供帮助。

简而言之:有没有办法通过单独提供名称来获取匹配用户的公共 URL 列表?

我试过检查 Facebook Open Graph API;这似乎需要知道此人的用户 ID 或用户 ID。

我曾尝试使用 Mechanize 和 Nokogiri 来自动化该过程,以我自己的身份登录 Facebook 并访问搜索功能(http://facebooks.com/search/results.php?q=Person%20Name),但它没有返回任何数据当尝试这种方式时。我怀疑 Facebook 正在使用某种 joojoo 来阻止我。

有人有什么建议吗?

4

3 回答 3

0

使用有效的访问令牌,您应该能够查询https://graph.facebook.com/me/以获取他们的 ID、名称和公共 URL (这是使用Graph API Explorer的示例)。

于 2012-07-26T18:10:09.083 回答
0

图 API 中有一个搜索端点,不幸的是它需要有效的用户访问令牌。

https://graph.facebook.com/search?q=<name>&type=user&access_token=<user access token>

然而,它甚至可能是你的,通过获得一个长期存在的访问令牌,它最多可以工作 60,但这可能是一个坏主意。

类型可以是user, post, event, group, page

于 2012-07-26T19:11:36.747 回答
0

在进行了额外的研究后,似乎无法在未经用户许可的情况下获取用户的公开个人资料页面。我猜,Facebook 隐私设置万岁。

但是,获得访问令牌比我想象的要容易。Facebook在其网站上提供了一个示例,用于获取用户访问其帐户的权限,完全在客户端实现。好,易于; 访问令牌在 URL 中返回。

这里唯一的缺点是您必须在 Facebook 上创建一个应用程序,地址为http://developers.facebook.com/apps。就我的目的而言,“带有 Facebook 登录的网站”是应用程序类型。

从那时起,您可以使用该令牌轻松查询 Graph API,正如 Warpling 和 complex857 所建议的那样。

于 2012-07-27T14:47:23.740 回答