【发布时间】:2013-04-10 09:53:15
【问题描述】:
我一直在使用 facebook grap 从公共“页面”中提取相册并显示照片,但今天它停止工作(不仅在我的电脑上,它已被其他人验证)
我一直在没有令牌和任何 SDK 的情况下点击图形 api,只是构建 graph.facebook.com 链接并使用返回的 json。
起初我以为问题只发生在 Chrome 上,但现在我不太确定了。我已经确认欺骗用户代理没有任何效果,并且我最近发现删除 Facebook.com cookie 可以解决问题。
现在,我不能强行删除其他人的 cookie,所以我希望有另一个修复,或者至少是一个解释。
图形调用看起来像https://graph.facebook.com/{{albumID}}
这是一个例子: https://graph.facebook.com/203416696378870
收到错误
"error": {
"message": "An access token is required to request this resource.",
"type": "OAuthException",
"code": 104
}
没有 facebook.com cookie,我得到了预期的输出。
"id": "203416696378870",
"from": {
"id": "186646504722556",
"category": "Musician/band",
...
删除前的 Facebook Cookies
我还是不明白为什么 Facebook cookie 会突然破坏我的代码。
我在 Facebook 的平台更新或 Chrome 版本中找不到任何可以解释此行为的记录更改。
当然,我不能强行从所有使用我的代码的网站的用户那里删除 cookie,我对这显然使它变得多么脆弱感到不满。
有没有人对此问题有任何额外的见解,以及 facebook.com cookie 中具体是什么与图形 api 调用混淆了?
有没有办法防止这种情况发生?
【问题讨论】:
-
我遇到了与您在 chrome 上获取 facebook cookie 相同的问题。使用 Firefox 不会发生这种情况。所以,似乎与 chrome 更新有关。
-
IDK,我很难确定它。我每天都使用 chrome,所以我的其他浏览器都没有 facebook 会话 cookie 或任何东西(至少在发生任何变化之前没有),所以我无法做任何事情来重现它。我确实知道有些人仍然无法正常工作,因为他们没有删除他们的 cookie。但是是的 - 到目前为止,我只有 Chrome 用户的报告。
-
我在 safari 和 IE9 上也进行了测试,在 Safari 中工作,但 IE 返回 http 400 错误。
-
@roasted - 真的吗?对我来说在 IE9 中工作正常。看到400了吗?通过此链接:graph.facebook.com/203416696378870?
-
事实上,IE9 询问我是否要下载 json 文件。看起来有一个错误的请求完成,要求一个文档 html 页面,facebook 请求响应一个 json 页面。
标签: javascript facebook-graph-api oauth cross-browser