如果您使用Facebook图形API,您可以查看某人的所有公共信息,如果该人将这些信息公开,只需要做一些事情:打开浏览器,登录Facebook并知道该人的用户ID#例如,Mark Zuckerberg - facebook创始人拥有用户ID#4,所以请访问: https://graph.facebook.com/4 =>你可以看到基本的信息,如姓名,年龄,位置......(想象你在_ https://graph.facebook.com/i 中改变i,我从1到100万,只要他们在公共场所设置信息,您就可以看到百万用户的信息。
或者转到此链接,您可以看到更多信息,例如人物收藏和教育...... _https://graph.facebook.com/4?access_token = XXX XXX 是一个唯一代码,每次登录Facebook时都会更改(请参阅更多内容) http://developers.facebook.com/docs/reference/api/)
我的目标是使用基本的java url转到这些链接并获取所有信息(基本上它们都是文本)并将它们保存到文本文件中,使用_https://graph.facebook.com/4没有问题但是第二个链接问题是访问令牌代码是XXX - 每次更改或将在20~30分钟后过期,因此我无法运行我的程序更长时间来获取更多数据。 问题是,无论如何要获得永久访问令牌或延长它的时间,请记住我只使用一个小的java程序,与Facebook应用程序或其他任何事情无关。先谢谢!
答案 0 :(得分:2)
不幸的是,您无法获得永久访问令牌,但您可以在访问令牌过期时捕获错误并请求新的令牌。此外,您可能需要阅读Facebook的使用条款,以确保您没有违反它。
答案 1 :(得分:1)
您可以将访问令牌的有效期延长至60天。 你可以通过这个:
https://developers.facebook.com/docs/facebook-login/access-tokens/
如果您从服务器端拨打以下电话,Facebook将返回一个有效期为2个月的访问令牌(扩展访问令牌):
GET /oauth/access_token?
grant_type=fb_exchange_token&
client_id={app-id}&
client_secret={app-secret}&
fb_exchange_token={short-lived-token}
答案 2 :(得分:0)
您无法获取永久访问令牌,但在到期后续订非常容易:That文章是可行的方法。神奇的URL是:
https://www.facebook.com/dialog/oauth/?client_id=YOUR_APP_ID&redirect_uri=YOUR_REDIRECT_URL&state=YOUR_STATE_VALUE&scope=COMMA_SEPARATED_LIST_OF_PERMISSION_NAMES
client_id
redirect_uri
这是重要的一步 - facebook重定向到redirect_uri中给出的uri,并向该uri添加“#access_token = ...”。您可以解析该URI以获取令牌:使用网络浏览器调用上面的链接,使用http://localhost
作为redirect_uri,你会没事的。浏览器将尝试调用http://localhost#access_token=....
并显然失败,但您可以解析该URL以获取令牌。这不是一个非常简单的过程,但它适用于我。