0

我正在开发一个链接到 facebook 的 android 应用程序(使用以下教程 - https://developers.facebook.com/docs/mobile/android/build/)。但是,我想下载并保存朋友的信息页面,以便我的程序可以读取 Facebook API 不提供的更多信息,例如电子邮件或电话号码。如果我按照下面列出的例程进行,Facebook 将不会看到我已登录。我应该采取什么方法来做到这一点?

public static void main(String[] args) {
    try {
      URL u = new URL("https://www.facebook.com/profile.php?id=********");//where id is your friend's profile ID
      OutputStream out = new FileOutputStream("bob.html");
      InputStream in = u.openStream();
      DTD html = DTD.getDTD("html");
      System.out.println(html.getName());
      in.close();
      out.flush();
      out.close();
    } catch (Exception e) {
      System.err.println("Usage: java PageSaver url local_file");
    }
}
4

3 回答 3

2

没有办法使用 Facebook API 来获取您朋友的电话号码或电子邮件地址 - 相信我,我已经尝试过了,这真的很烦人!但是,我可以看到它以这种方式配置以帮助保护用户的隐私。

如果您想直接从 URL 获取此信息,您可能需要模拟 Facebook 的登录过程 - 即向http://www.facebook.com发送 POST 消息并解析您的用户名和密码用户。这将使您登录,并创建一个会话对象。然后,您应该能够调用配置文件 URL,传入会话对象,它将返回您需要的信息。

但是,我应该指出,这种访问是 Facebook 严格禁止的,他们在服务条款中非常明确地表示,他们将禁止任何试图使用这种程序访问个人资料的开发人员和应用程序页。有关开发人员 Facebook 政策,请参阅https://developers.facebook.com/policy/

于 2012-04-23T13:52:40.580 回答
0

您以 facebook 用户身份登录,使用 facebook 实例:facebook.request("me"); 您将您的详细信息作为 JSON 对象获取。您可以从中详细说明

String name = json.getString("name");
        String email = json.getString("email");
        String gender = json.getString("gender");
        String id = json.getString("id");

朋友:facebook.request("me/friends"); 您可以将您的好友详细信息作为 JSON 数组获取,您可以从中获取好友详细信息作为 JSON 对象。

于 2012-04-23T07:48:04.673 回答
0

使用 Facebook Graph API 并请求所需的权限。

您需要扩展权限

email

阅读用户的电子邮件。

朋友的电子邮件没有等效权限。您只能获取登录用户的电子邮件。

您通过拨打以下电话收到电子邮件:

https://graph.facebook.com/me

用户登录后,即您需要访问令牌。

据我所知,无法通过 API 访问电话号码。

您可以通过以下方式访问您朋友的基本信息:

https://graph.facebook.com/USER_ID

通过添加这些权限,您可以从“/USER_ID”调用中获得更详细的信息:

friends_about_me
friends_interests
friends_relationships
friends_birthday
friends_hometown
friends_location   

但是,“/USER_ID”调用不会返回您可以在网络信息页面上看到的所有用户数据。您可以通过以下调用访问更多信息:

/USER_ID/interests

返回用户个人资料中列出的兴趣并需要 user_interests 权限

/USER_ID/music

返回用户个人资料中列出的音乐

/USER_ID/books

返回用户个人资料中列出的书籍

/USER_ID/movies

返回用户个人资料中列出的电影

/USER_ID/television

返回用户个人资料中列出的电视

/USER_ID/likes

返回此用户喜欢的所有页面,需要 user_likes 权限

于 2012-04-23T08:26:26.907 回答