繁体   English   中英

Facebook PHP SDK没有获得有效的访问令牌

[英]Facebook PHP SDK not getting valid Access Token

我一直在遵循开发人员文档中的说明,并且在使用PHP-SDK教程时遇到问题。

https://developers.facebook.com/docs/reference/php/facebook-api/

在上述URL上的“通过Graph API获取用户的配置文件并打印其名称”示例在Try期间似乎中断,据我所知,它接收到错误的访问令牌。

错误消息:致命错误:未捕获OAuthException:必须使用活动访问令牌来查询有关当前用户的信息。 在第1254行中抛出myURL / sdk / base_facebook.php

我可以通过FQL查询成功获取有效的访问令牌,但仅在使用PHP SDK命令$ facebook-> api('/ me','GET')(如文档和教程所示)时以及从什么获取错误消息。我可以告诉它应该动态获取有效的访问令牌,但事实并非如此。

在此示例中,我是否打算从其他地方缺少某些东西? 我不确定自己做错了什么。

[编辑显示代码]

<?php
  // Remember to copy files from the SDK's src/ directory to a
  // directory in your application on the server, such as php-sdk/
  require_once('php-sdk/facebook.php');

  $config = array(
    'appId' => 'MY_APP_ID',
    'secret' => 'MY_APP_SECRET',
  );

  $facebook = new Facebook($config);
  $user_id = $facebook->getUser();
?>
<html>
  <head></head>
  <body>

  <?php
    if($user_id) {

      // We have a user ID, so probably a logged in user.
      // If not, we'll get an exception, which we handle below.
      try {

        $user_profile = $facebook->api('/me','GET');
        echo "Name: " . $user_profile['name'];

      } catch(FacebookApiException $e) {
        // If the user is logged out, you can have a 
        // user ID even though the access token is invalid.
        // In this case, we'll get an exception, so we'll
        // just ask the user to login again here.
        $login_url = $facebook->getLoginUrl(); 
        echo 'Please <a href="' . $login_url . '">login.</a>';
        error_log($e->getType());
        error_log($e->getMessage());
      }   
    } else {

      // No user, print a link for the user to login
      $login_url = $facebook->getLoginUrl();
      echo 'Please <a href="' . $login_url . '">login.</a>';

    }

  ?>

  </body>
</html>

好的,没关系,出于某种奇怪的原因,在24小时内没有任何更改后,此脚本正在运行。 谢谢大家的帮助:)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM