我计划将facebook评论设为更有吸引力的东西,经过一段时间的研究,我意识到我不能那样做,所以我想到另一个解决方案,我设计我的网站评论系统,当人们评论帖子时在我的网站上,它也出现在他们的个人资料上(当然他们的批准),谁能告诉我这个解决方案?我真的很感激,因为我不知道如何开始
答案 0 :(得分:0)
您可以创建一个允许您代表用户发布的应用程序。
您需要从FB API
开始。您要通过此尝试的唯一方法是通过反复试验。
这是你必须要做的,
在Facebook上注册您的应用并获取app id and secret
。 Here
下载FB API
Here
阅读FB API Here
建立登录,允许您的用户使用Facebook登录。
然后
请求代表用户发布所需的权限。
这是一个工作登录脚本,请求您需要的权限。
阅读每一行并更改需要更改的内容。添加缺少的文件。记下任何变量并弄清楚它们是什么或它们持有什么。
从FB API请求所需的文件和类时,请确保文件路径正确。
<?php
// include required classes from Facebook SDK
require_once( 'facebook/src/Facebook/FacebookHttpable.php' );
require_once( 'facebook/src/Facebook/FacebookCurl.php' );
require_once( 'facebook/src/Facebook/FacebookCurlHttpClient.php' );
require_once( 'facebook/src/Facebook/FacebookSession.php' );
require_once( 'facebook/src/Facebook/FacebookRedirectLoginHelper.php' );
require_once( 'facebook/src/Facebook/FacebookRequest.php' );
require_once( 'facebook/src/Facebook/FacebookResponse.php' );
require_once( 'facebook/src/Facebook/FacebookSDKException.php' );
require_once( 'facebook/src/Facebook/FacebookRequestException.php' );
require_once( 'facebook/src/Facebook/FacebookOtherException.php' );
require_once( 'facebook/src/Facebook/FacebookAuthorizationException.php' );
require_once( 'facebook/src/Facebook/GraphObject.php' );
require_once( 'facebook/src/Facebook/GraphSessionInfo.php' );
// Called class with namespace
use Facebook\FacebookHttpable;
use Facebook\FacebookCurl;
use Facebook\FacebookCurlHttpClient;
use Facebook\FacebookSession;
use Facebook\FacebookRedirectLoginHelper;
use Facebook\FacebookRequest;
use Facebook\FacebookResponse;
use Facebook\FacebookSDKException;
use Facebook\FacebookRequestException;
use Facebook\FacebookOtherException;
use Facebook\FacebookAuthorizationException;
use Facebook\GraphObject;
use Facebook\GraphSessionInfo;
// init app with app id and secret
FacebookSession::setDefaultApplication( 'app_id_here','secret_here' );
// login helper with redirect_uri
$helper = new FacebookRedirectLoginHelper( 'http://www.Your.URL.com' );
// see if a existing session exists
if ( isset( $_SESSION ) && isset( $_SESSION['fb_token'] ) ) {
// create new session from saved access_token
$session = new FacebookSession( $_SESSION['fb_token'] );
// validate the access_token to make sure it's still valid
try {
if ( !$session->validate() ) {
$session = null;
}
} catch ( Exception $e ) {
// catch any exceptions
$session = null;
}
} else {
// no session exists
try {
$session = $helper->getSessionFromRedirect();
} catch( FacebookRequestException $ex ) {
// When Facebook returns an error
// handle this better in production code
print_r( $ex );
} catch( Exception $ex ) {
// When validation fails or other local issues
// handle this better in production code
print_r( $ex );
}
}
// see if we have a session
if ( isset( $session ) ) {
// save the session
$_SESSION['fb_token'] = $session->getToken();
// create a session using saved token or the new one we generated at login
$session = new FacebookSession( $session->getToken() );
// graph api request for user data with response
$graphObject = (new FacebookRequest( $session, 'GET', '/me?fields=id,first_name,last_name' ))->execute()->getGraphObject()->asArray();
}
?>
<?php
// This is how users will login and logout
if ( isset( $session ) ) {
// print logout url using session and redirect_uri (logout.php page should destroy the session)
echo '<dd><a href="' . $helper->getLogoutUrl( $session, 'http://www.YourSitePathTOLogout/fbLogout.php' ) . '"><span class="fui-facebook"> </span><span class="colorRed"> Logout</span>' . " " . $graphObject['first_name'] . " " . $graphObject['last_name'] . '</a></dd>';
} else {
// show login url
echo '<dd><a href="' . $helper->getLoginUrl( array( 'publish_stream, addPermissionsLikeThis, AddMore, AddMore, orDelteThese, KeepFirstOne' ) ) . '"><span class="fui-facebook"> </span><span class="colorBlue"> Login With Facebook</a></dd>';
}
?>