【问题标题】:Facebook produces "An error occurred. Please try later" when handling oauth requestFacebook 在处理 oauth 请求时产生“发生错误。请稍后再试”
【发布时间】:2012-02-11 18:33:13
【问题描述】:

这已在 SOF 上讨论过,不过,我没有发现任何人遇到完全相同的问题。另外,已经2天多了,所以想问问。

  1. 应用程序正在沙盒中运行。更新:在无沙盒环境中也是如此。
  2. 无论我使用admindeveloper 还是tester 帐户,都无法使用。
  3. 无论用户是否已经授权应用程序都不起作用。

就在调用$fb->getLoginError() 之前,$fb 实例转储(Facebook PHP-SDK)如下所示:

object(Facebook)#85 (7) {
  ["appId:protected"]=>
  string(15) "[removed for SOF display]"
  ["apiSecret:protected"]=>
  string(32) "[removed for SOF display]"
  ["user:protected"]=>
  int(0)
  ["signedRequest:protected"]=>
  NULL
  ["state:protected"]=>
  string(32) "[removed for SOF display]"
  ["accessToken:protected"]=>
  string(48) "[removed for SOF display]"
  ["fileUploadSupport:protected"]=>
  bool(false)
}

所有[removed for SOF display] 信息都存在。

代码本身:

$login_url      = $fb->getLoginUrl(array('scope' => $config->facebook['scope'], 'redirect_uri' => $redirect_uri ));

echo '
    <noscript>javascript must be enabled.</noscript>
    <script type="text/javascript">top.location.href = \'' . addslashes($login_url) . '\';</script>
';

getLoginUrl()生成的URL如下:

https://www.facebook.com/dialog/oauth?client_id=[removed for SOF display]&redirect_uri=[removed for SOF display]&scope=publish_stream%2C+email%2C+user_birthday%2C+user_interests%2C+user_likes

最烦人的是Facebook正在产生错误发生了错误。请稍后再试,无需任何其他信息。我什至尝试将 $login_url 设置为像http://google.com/ 这样的愚蠢的东西,它没有产生预期的错误。还是一样发生了错误。请稍后再试

我已经开发应用程序有一段时间了,这是我第一次遇到这样的问题。

【问题讨论】:

    标签: facebook facebook-php-sdk facebook-oauth


    【解决方案1】:

    错误原来是由重定向 URI http://facebook.com/[..] 引起的。

    通常,如果使用未经授权的域,Facebook 会产生一个错误,您必须将域添加到 Facebook 应用设置,App Domain。在这种情况下,它只会产生完全无用的An error occurred. Please try later

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-19
      相关资源
      最近更新 更多