【发布时间】:2012-04-03 07:14:36
【问题描述】:
我从阅读 Displaying Facebook posts to non-Facebook users 开始,这有些用处,但我不敢相信从 Facebook 获得公开信息有这么难。
我想从中获取提要的页面是公开的,您无需登录即可访问它。
我是否正确地假设我需要一个 access_token 来获取此信息,尝试访问该 URL 而不会导致 OAuth 错误。
所以流程应该是这样的(大量,过于复杂):
- 使用用户进行身份验证(如果用户不在 Facebook 上怎么办?)
- 一些复杂的 OAuth 废话 - 只是为了阅读提要,我什至不想要一个赞按钮或发布到墙上的功能
- 使用 PHP 请求通过用户的 access_token 获取到正确 URL 的提要
- 呈现提要
假设用户不在 Facebook,你会怎么做,使用通用应用程序来获取提要?
- 使用我的通用应用的 ID 和密码将身份验证请求硬编码到 Facebook
- 一些复杂的 OAuth 废话
- 使用 PHP 请求通过应用程序的 access_token 获取到正确 URL 的提要
- 呈现提要
- 哦,不,身份验证已过期,请重新进行身份验证并捕获这个新的 access_token 以供将来的请求使用。
这似乎真的很复杂,除了 Facebook 想知道正在发生的一切之外,它会更容易做一个 cURL 并使用 XPath 从公共 URL 中抓取内容。
在这方面的任何帮助都会很棒。
谢谢, 杰克
编辑
显示这不是完全重复的编辑。
我使用 access_token 进行了这项工作,但现在失败了,令牌已过期,我无法再使用它从公共墙获取信息。
我尝试使用其他帖子中提到的方法延长此令牌的到期日期,但这不起作用,并且到期未延长 - 我们现在在这里,令牌无效,没有进一步的进展。
似乎必须批准 OAuth 请求的手动过程意味着不可能以编程方式获取公共页面的提要。
【问题讨论】:
-
查看我对facebook.stackoverflow.com/questions/9663700/… 的回答,我相信它可以解决您的问题。
-
谢谢 Shreeni - 这是我所害怕的 - 它太复杂了。维护代理简直是疯了。我现在正试图通过访问 URL 来使其工作,尝试从我的通用帐户甚至我自己的帐户中获取 acccess_token 失败。说实话,这一切都是一团糟。
-
嗨 Shreeni,我将进行编辑以更新我在此方面的位置。
-
我也在想同样的事情 (stackoverflow.com/questions/9970381/…)。为什么 Facebook 让使用他们的 API 比简单地抓取网站更难?太疯狂了。
-
我想我们忘记了。他们的业务,他们没有用处。
标签: php facebook facebook-graph-api facebook-access-token