账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    facebook Graph returned an error: 无法加载网址
    43
    0

    login.php

    if(!session_id()) {
        session_start();
    }
    
    require_once __DIR__ . '/vendor/autoload.php';
    
    $facebook_appId = '123';
    $facebook_appSecret = '123';
    
    $fb = new Facebook\Facebook([
      'app_id' => $facebook_appId,
      'app_secret' => $facebook_appSecret,
      'default_graph_version' => 'v2.11',
    ]);
    
    $helper = $fb->getRedirectLoginHelper();
    
    $permissions = ['email']; // Optional permissions
    $loginUrl = $helper->getLoginUrl('http://www.123.com/login-callback.php', $permissions);
    
    echo '<a href="' . htmlspecialchars($loginUrl) . '">Login via Facebook!</a>';

    login-callback.php

    if(!session_id()) {
        session_start();
    }
    
    require_once __DIR__ . '/vendor/autoload.php';
    
    $facebook_appId = '123';
    $facebook_appSecret = '123';
    
    $fb = new \Facebook\Facebook([
        'app_id' => $facebook_appId,
        'app_secret' => $facebook_appSecret,
        'default_graph_version' => 'v2.11',
    ]);
    
    // Use one of the helper classes to get a Facebook\Authentication\AccessToken entity.
    //   $helper = $fb->getRedirectLoginHelper();
    //   $helper = $fb->getJavaScriptHelper();
    //   $helper = $fb->getCanvasHelper();
    //   $helper = $fb->getPageTabHelper();
    
    try {
      // Get the \Facebook\GraphNodes\GraphUser object for the current user.
      // If you provided a 'default_access_token', the '{access-token}' is optional.
    
      $helper = $fb->getRedirectLoginHelper();  
      $accessToken = $helper->getAccessToken();
      $response = $fb->get('/me?fields=id,name', $accessToken );
      // $response = $fb->get('/me', $accessToken );
    
    } 
    catch(\Facebook\Exceptions\FacebookResponseException $e) {
      // When Graph returns an error
      echo 'Graph returned an error: ' . $e->getMessage();
      exit;
    } 
    catch(\Facebook\Exceptions\FacebookSDKException $e) {
      // When validation fails or other local issues
      echo 'Facebook SDK returned an error: ' . $e->getMessage();
      exit;
    }
    
    $me = $response->getGraphUser();
    echo 'Logged in as ' . $me->getName();

    上面是我两php文件的代码,当我点击login.php输出的链接后跳转到第二个php里,就报错误
    【Graph returned an error: 无法加载网址: 这个 URL 的域名未包含应用的域名。为了能够加载 URL,请在应用设置的应用域名字段添加应用的所有域和子域。】

    我已经在facebook开发者平台添加了这个域名,我也仔细检查了url也没发现不一样的地方,不知道为什么还报这个错误,麻烦弄过facebook登录的朋友帮我看看。

    0
    打赏
    收藏
    点击回答
        全部回答
    • 共 0 条
    • 暖夏清风 普通会员 1楼

      这个错误通常是因为你在尝试访问的网页没有在Facebook上注册。Facebook有一个规定,用户只能使用自己的Facebook账号来访问特定的网页,否则你将无法访问。如果你已经注册了Facebook账号,但是尝试访问的网页没有在Facebook上注册,那么你将无法访问。你可能需要检查你的账号信息,确保所有的信息都是正确的。如果你还没有注册Facebook账号,那么你可能需要先注册一个账号。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部