首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在不登录php帐户的情况下将故事发布到facebook页面?

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

Stack Overflow用户
提问于 2012-09-06 12:33:47
回答 1查看 1.5K关注 0票数 0
代码语言:javascript
复制
         <?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 account.please帮助梅想从我的网站管理员发布故事到facebook页面,而不登录facebook account.please帮助我。

EN

回答 1

Stack Overflow用户

发布于 2012-09-06 12:39:47

你不需要offline_access的许可就可以将内容发布到Facebook上。只需要publish_stream权限。

即使不需要用户登录。一旦用户授权您的应用程序与publish_stream许可,您可以开始张贴内容代表他,而不需要他登录!

您可以参考这里

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12300234

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档