我是個新手。我正試圖用Facebook登錄并發布一些資訊,但當我試圖這樣做時,我得到了一個錯誤:
警告
警告 無法加載URL。這個URL的域不包括在應用程式的域中。為了加載這個URL,請將您的應用程式的所有域和子域添加到您的應用程式設定中的應用程式域領域。
我已經下載了SDK for php并將其保存在我的根檔案夾中。
這是我的index.php
。<?php
//包括FB組態檔。
require_once 'fbConfig.php'/span>;
if(isset($accessToken)){
if(isset($_SESSION['facebook_access_token'])){
$fb->setDefaultAccessToken($_SESSION['facebook_access_token'])。
}else{
//將短暫的訪問令牌放在會話中。
$_SESSION['facebook_access_token'] = (string) $accessToken;
//OAuth 2.0客戶端處理器有助于管理訪問令牌。
$oAuth2Client = $fb-> getOAuth2Client();
//將一個短命的訪問令牌換成長命的。
$longLivedAccessToken = $oAuth2Client->getLongLivedAccessToken($_SESSION['facebook_access_token'/span>])。
$_SESSION['facebook_access_token'] = (string) $longLivedAccessToken;
//設定腳本中使用的默認訪問令牌。
$fb->setDefaultAccessToken($_SESSION['facebook_access_token])。
}
//FB帖子內容。
$message = 'Test from website';
$title = 'Post From Website';
$link = 'http://www.algunaUrlParaRedireccionarEnElPost.com/';
$description = 'Test'。
$picture = 'https://slp-statics.astockcdn.net/static_assets/staging/21fall/homepage/curated-asset-collection/card-2.jpg?width=580'。
$attachment = array(
'message' => $message,
'name' => $title,
'link' => $link,
'description' => $description,
'picture'=>$picture,
);
try{
//Post to Facebook
$fb->post('/me/feed', $attachment, $accessToken) 。
//顯示帖子提交狀態。
echo '帖子已成功發布到Facebook時間軸上。'。
}catch(FacebookResponseException $e){
echo 'Graph returned an error: ' . $e->getMessage()。
exit。
}catch(FacebookSDKException $e){
echo 'Facebook SDK returned an error: ' . $e-> getMessage();
exit。
}
}else{
//獲取Facebook的登錄URL。
$fbLoginURL = $helper->getLoginUrl($redirectURL, $fbPermissions)。
//重定向到Facebook登錄頁面。
echo '<a href="'/span>. $fbLoginURL.'"><img src="fb-btn.png" /></a> ' ;
}
我還得到了這個用于SDK配置的檔案(config.php)
。<?php
if(! session_id()){
session_start()。
}
//包括SDK中提供的自動加載器。
require_once __DIR__ . '/php-graph-sdk-5.x/src/Facebook/autoload.php'。
//Include required libraries.
使用 FacebookFacebook。
使用 FacebookExceptionsFacebookResponseException。
使用 FacebookExceptionsFacebookSDKException。
/*
*配置和設定Facebook SDK
*/
$appId = 'algunID'; //Facebook應用ID。
$appSecret = 'algunaAppSecret'; //Facebook App Secret。
$redirectURL = 'http://localhost:8077/fbPost/'; //Callback URL。
$fbPermissions = array('publish_actions'); /Facebook permission
$fb = new Facebook(array(
'app_id' => $appId,
'app_secret' => $appSecret,
'default_graph_version' => 'v2.10',
));
//獲得重定向登錄幫助器。
$helper = $fb-> getRedirectLoginHelper();
//嘗試獲取訪問令牌。
try {
if(isset($_SESSION['facebook_access_token' ]){
$accessToken = $_SESSION['facebook_access_token']。
}else{
$accessToken = $helper->getAccessToken()。
}
} catch(FacebookResponseException $e) {
echo 'Graph returned an error: ' . $e->getMessage()。
exit。
} catch(FacebookSDKException $e) {
echo 'Facebook SDK returned an error: ' . $e-> getMessage();
exit。
}
?>
我找了一個解決方案,但每個人都解決了這個錯誤,在他們的應用程式中添加他們的域名網址,在Facebook開發人員創建的,但我不能,因為我運行這個在localhost
。uj5u.com熱心網友回復:
Facebook Login -> Settings -> Valid OAuth redirect URIs
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/327157.html
標籤:

