0

这是我第一次尝试与 Facebook 合作。几天前,我花了很多时间在工作上,试图让一切正常工作。根据 Facebook 文档中的所有示例,看起来一切都井井有条,但它就是行不通。这些文件托管在一个站点上,所以我不想从 localhost 或类似的东西工作,我在 facebook 上有正确的应用程序站点设置。

那天晚上我回家后,我决定多做一些工作,当我启动网站时,它的工作方式完全符合预期。我想它一定需要一段时间才能让应用程序设置生效等等,然后整夜继续工作。取得了一大堆进展,并称之为一个晚上。

第二天上班。我打开我的网络浏览器,前往该网站再次查看我的出色进展,但不起作用。远程桌面到家用电脑,工作正常。在我妻子的 windows 计算机上的 IE、firefox 和 chrome 中运行良好,在我的 linux 桌面上的 firefox 和 chrome 中运行良好。在工作中,它不适用于 IE、firefox 或 chrome。这些都不重要,因为我没有在客户端做任何事情。

我尝试取消对应用程序的授权,它会将我发送到我接受的授权页面,但随后它仅以用户身份返回 0。我不明白为什么这不一样,它都是服务器端的,我只是想在这一点上回应用户。

编辑:此外,取消授权和重新授权在家里也可以正常工作。

EDIT2:这是简单的代码。

<?php
require 'facebook.php';  //sdk
$facebook = new Facebook(array(
  'appId' => 'yep',
  'secret' => 'yep'
));

try {
    $uid = $facebook->getUser();
    $fbme = $facebook->api('/me');
} catch (FacebookApiException $e) { 
    print_r($e);
}
?>

即使在取消授权和重新授权应用程序和权限之后,它也会导致此错误消息。“必须使用活动访问令牌来查询有关当前用户的信息。”

4

2 回答 2

0

我唯一能想象的是某种防火墙、访问门或浏览器安全设置,它们限制了在办公室通过网络发送的 cookie(会话 cookie)的使用。

Facebook SDK 使用会话,因此当您的浏览器在工作时不发送会话 cookie 或网络过滤它们时......这就是您的问题。

于 2013-01-11T15:54:19.373 回答
0

所以,它现在正在工作。但我不知道为什么没有。

这就是我所做的:

  1. 取消授权的应用
  2. 清除 cookie 和缓存
  3. 重新启动计算机(我全力以赴)
  4. 回到网站
  5. 重新授权的应用

有用。

我以前没有尝试过的唯一事情是#2。

编辑:不再在工作或在家工作。我取消了应用程序的授权,在重新授权并重新接受权限后,我认为它会给我一个全新的、闪亮的、新的访问令牌,但我一直收到相同的错误消息。

于 2013-01-11T19:14:23.563 回答