如何在不登录php的帐户的情况下将故事发布到Facebook页面?

时间:2012-09-06 12:33:47

标签: php facebook

         <?php
          session_start();

         $appid = 'xxxxxxxx'; //Application ID
        $appsec = 'xxxxx'; // Application secret
    $redirectUrl = 'http://test/tester/'; //Facebook redirects back to this page
    $permissions = 'publish_stream,offline_access,read_stream,manage_pages'; // Permissions we will need
    $access_token = '';


    if(isset($_POST['FacebookPageID']) && strlen($_POST['FacebookPageID'])>10)
    {

$_SESSION['FacebookPageID']=$_POST['FacebookPageID'];
$_SESSION['FacebookMessage']=$_POST['FacebookMessage'];
 $_SESSION['Facebooktitle']=$_POST['Facebooktitle'];
 // $_SESSION['image']=$_POST['image'];
}

if(!is_numeric($_SESSION['FacebookPageID']) || strlen($_SESSION['FacebookPageID'])<5)
{
 session_destroy();
die("<meta http-equiv=\"refresh\" content=\"2;URL=".$redirectUrl."\" />");
}
else
{

if(!isset($_GET["code"]))
{

     $_SESSION['state'] = md5(uniqid(rand(), TRUE));

     $RedirectToFacebook = "https://www.facebook.com/dialog/oauth?client_id=".$appid;
        $RedirectToFacebook .="&redirect_uri=".urlencode($redirectUrl.'process.php');
     $RedirectToFacebook .="&state=".$_SESSION['state'];


  die("<script type=\"text/javascript\">top.location.href='" . $RedirectToFacebook . "';</script>
  <noscript><a href='".$RedirectToFacebook."'>Needs Permissioins</a></noscript>");
}
else
{

############## Facebook Page ID ############
$facebookPageID = $_SESSION['FacebookPageID'];
//$target_path   = $_SESSION['image'];

 ############## Wall Message ############
$facebookMessage = (empty($_SESSION['FacebookMessage']) || strlen($_SESSION['FacebookMessage'])<5)?"Nice Facebook Wall Posting Script!":$_SESSION['FacebookMessage'];


if($_GET['state'] == $_SESSION['state'])
{
$AccessTokenUrl = "https://graph.facebook.com/oauth/access_token?client_id=".$appid;
$AccessTokenUrl .="&redirect_uri=".urlencode($redirectUrl.'process.php');
$AccessTokenUrl .="&client_secret=".$appsec;
$AccessTokenUrl .="&code=".$_GET["code"];

 $ReturnedString = file_get_contents($AccessTokenUrl);
 $params=null;
 parse_str($ReturnedString, $params);
$OurAccessToken = $params['access_token']; //access token

 //---------------
require_once('src/facebook.php' ); //Include our facebook Php Sdk

$post_url = '/'.$facebookPageID.'/feed';
$facebook = new Facebook(array(
'appId' => $appid,
    'secret' => $appsec,
 ));

 //the Posting Parameters
    $PostData = array(
    'message' => 'uffcaffnews.com',
 'name' => $Facebooktitle,
 'caption' => "test.fff.com",
 'link' => 'http://www.fff.com/assets/ajax-post-on-page-wall',
'description' => $facebookMessage,
    'picture' => "http://test.c/images/desc.jpg",
'access_token' =>$OurAccessToken,
'actions' => array(
array(
'name' => 'Saaraan',
'link' => 'http://www.saaraan.com'
)
 )
 );

try {

$pageID = '3xxx';
$result = $facebook->api($post_url, 'post', $PostData);


     if($result)
{
 session_destroy();
     echo 'Done..';
 die("<meta http-equiv=\"refresh\" content=\"2;URL=".$redirectUrl."?");
 }
}

我想从我的网站管理员发布故事到Facebook页面,而无需登录到facebook帐户。请帮助mei想要从我的网站管理员发布故事到Facebook页面,而无需登录到facebook帐户。请帮助我

1 个答案:

答案 0 :(得分:0)

您无需offline_access权限即可向Facebook发布内容。只需要publish_stream权限。

即使不需要用户登录也是如此。用户使用publish_stream权限授权您的应用后,您可以代表开始发布内容,而无需登录!

您可以参考here

相关问题