如何使用PHP代码在Facebook上发布状态?

时间:2014-09-18 14:59:41

标签: php facebook facebook-graph-api facebook-oauth

我创建了一个用于在fb上发布状态的应用作为下面的图片enter image description here

我的代码是:

<?php

require_once("src/facebook.php");

$appId='1462917680664dfd628';
$secret='65b160jkjdfj155615a3659ee441b1eac2942d';

$returnUrl='http://localhost/www/newOne/';

$permission='manage_pages, publish_stream';
$action_name = 'Action Link in the Footer of the Post';
$facebook=new Facebook(array('appId'=>$appId  , 'secret'=>$secret));

$fbUser=$facebook->getUser();

if($fbUser)
{
    try{

        $accessToken = $facebook->getAccessToken();
         if (!empty( $accessToken )) {
                 $attachment = array(
                     'access_token' => $accessToken,
                     'message' => $msg,
                     'name' => $title,
                     'link' => $returnUrl,
                     'description' => $desc,
                     'actions' => json_encode(array('name' => $action_name,'link' => $returnUrl))
                  );

                $status = $facebook->api("/me/feed", "post", $attachment);
         } else {
                $status = 'No access token recieved';
         }

    }catch(FacebookApiException $er)
    {
        echo $er->getMessage();
    }
}else
{
    $loginUrl=$fb->getLoginUrl(array('scope'=>$permission ,'redirect-uri'=>$returnUrl));

    echo '<a href="'.$loginUrl.'">Login</a>';
}



?>

结果是:

enter image description here

我使用localhost进行此提议,有人告诉我将其更改为真实的服务器我做了但是我得到了同样的错误,我在谷歌搜索了很多次但是没有有用的答案,有人告诉我我的问题是什么代码或我的Facebook应用程序。

2 个答案:

答案 0 :(得分:0)

$returnUrl的域名必须在App Domains设置中才能生效。

答案 1 :(得分:0)

你无法在本地主机的Facebook上发帖。你必须使用服务器在Facebook墙上发布。假设您拥有像www.abc.com这样的域名,而不是在创建Facebook App ID和APP Secret时必须提供此域名信息。创建此APP ID和APP Secret之后,您只能使用此域。您不能将这些App ID和APP Secret与其他域名一起使用。