鍍金池/ 問(wèn)答/PHP  網(wǎng)絡(luò)安全/ facebook Graph returned an error: 無(wú)法加載網(wǎng)址

facebook Graph returned an error: 無(wú)法加載網(wǎng)址

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文件的代碼,當(dāng)我點(diǎn)擊login.php輸出的鏈接后跳轉(zhuǎn)到第二個(gè)php里,就報(bào)錯(cuò)誤
【Graph returned an error: 無(wú)法加載網(wǎng)址: 這個(gè) URL 的域名未包含應(yīng)用的域名。為了能夠加載 URL,請(qǐng)?jiān)趹?yīng)用設(shè)置的應(yīng)用域名字段添加應(yīng)用的所有域和子域?!?/p>

我已經(jīng)在facebook開(kāi)發(fā)者平臺(tái)添加了這個(gè)域名,我也仔細(xì)檢查了url也沒(méi)發(fā)現(xiàn)不一樣的地方,不知道為什么還報(bào)這個(gè)錯(cuò)誤,麻煩弄過(guò)facebook登錄的朋友幫我看看。

回答
編輯回答
祉小皓

你的域名應(yīng)該是沒(méi)有加入到 Valid OAuth Redirect URIs 里面,估計(jì)你只在設(shè)置里面加入了.

clipboard.png

2018年6月14日 16:00
編輯回答
嘟尛嘴

我的也是出現(xiàn)沒(méi)
clipboard.png

Graph returned an error: 無(wú)法加載網(wǎng)址: 這個(gè) URL 的域名未包含應(yīng)用的域名。為了能夠加載 URL,請(qǐng)?jiān)趹?yīng)用設(shè)置的應(yīng)用域名字段添加應(yīng)用的所有域和子域。但是升級(jí)為5.62的版本還是一樣的錯(cuò)誤,請(qǐng)問(wèn)你的QQ號(hào)是多少???

2018年1月29日 13:58
編輯回答
厭遇

我聯(lián)系上facebook官方客服了,他們讓我把php sdk升級(jí)到5.6.2這個(gè)版本,這個(gè)問(wèn)題就解決了,之前我的版本是5.6.1

2018年5月4日 17:38