【发布时间】:2013-05-04 00:48:02
【问题描述】:
我正在尝试检索公开的 Facebook 相册以在网站上显示。 我可以使用 Facebook Graphc 访问相册列表和单个相册,而无需获取访问令牌 见https://graph.facebook.com/vailresorts/albums 我已经从不同网络上的 4 个不同的服务器上尝试过,没有一个服务器登录到 facebook,它工作正常。但是,当我把它放在我的测试服务器上时,它不起作用,我得到了
OAuthException - An access token is required to request this resource.
错误。
我不知道为什么,从不同的地方请求 url 会产生不同的结果?
我的理解是,如果专辑是公开的,我不需要 App Id 和 App Secret。
这不是真的吗?
Request header:
Request URL:https://graph.facebook.com/vailresorts/albums
Request Method:GET
Status Code:200 OK
Request Headersview source
accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
accept-charset:ISO-8859-1,utf-8;q=0.7,*;q=0.3
accept-encoding:gzip,deflate,sdch
accept-language:en-US,en;q=0.8
cache-control:no-cache
host:graph.facebook.com
method:GET
pragma:no-cache
scheme:https
url:/vailresorts/albums
user-agent:Mozilla/5.0 (Windows NT 5.2) AppleWebKit/537.31 (KHTML, like Gecko)
Chrome/26.0.1410.64 Safari/537.31 版本:HTTP/1.1
【问题讨论】:
-
您是否准确检查了在 GET 请求中发送到 facebook 的内容,并且您确定在工作案例中实际上并未发送令牌?你能发布一个有效的 GET 请求的完整内容吗?
-
我很确定我没有发送任何令牌 - 我登录到完全独立的测试服务器,安装了 Chrome,然后输入了上面的 URL 并得到了结果。我将在上面进行编辑并放入请求标头..
-
好吧,我改为使用应用程序 ID/秘密来获取它,但我仍然不明白为什么它应该在某个地方工作而不是其他地方。
-
嗯,我也得到了不同的结果。有时它会通过,有时它不会。试图找出差异。
-
...现在我似乎根本无法让它工作。在某些情况下,我能够看到专辑和 cmets 以及用户名和 ID,但现在什么也没有。我想我是在复制/粘贴网址,但现在我想知道发生了什么。尝试过 http 和 https - 没有区别。