作为品牌页面发布到facebook-PHP

作为品牌页面发布到facebook-PHP,php,facebook,Php,Facebook,我在Facebook上有一个粉丝页面(或品牌页面)。我已经创建了一个PHP应用程序,我想在这个品牌页面上发布消息,但不是用我自己的用户名,而是用这个品牌名称。所以基本上我想用这个品牌的名字,通过PHP来写 我有以下代码: //This is the Page ID of the branding page $post_url = '/'.$userPageId.'/feed'; // posts message on page feed $msg_body['m

我在Facebook上有一个粉丝页面(或品牌页面)。我已经创建了一个PHP应用程序,我想在这个品牌页面上发布消息,但不是用我自己的用户名,而是用这个品牌名称。所以基本上我想用这个品牌的名字,通过PHP来写

我有以下代码:

    //This is the Page ID of the branding page
    $post_url = '/'.$userPageId.'/feed';

    // posts message on page feed
    $msg_body['message'] = $userMessage;

    if (!empty($userLink)) {
        $msg_body['link'] = $userLink;
    }
    if (!empty($userDescr)) {
        $msg_body['description'] = $userDescr;
    }
    if (!empty($userPic)) {
        $msg_body['picture'] = $userPic;
    }

  try {
        $postResult = $facebook->api($post_url, 'post', $msg_body );
    } catch (FacebookApiException $e) {
    echo $e->getMessage();
  }
代码会在品牌页面上放置一条消息,但来自我自己的帐户。你知道我怎么能把信息写得好像来自品牌本身吗


提前谢谢

我终于解决了这个问题。问题是我没有传递页面访问令牌。下面的代码工作得很好,还修复了我在发布扩展ASCII符号时遇到的字符编码问题:

$userPageId     = $_POST["userpages"];
$userMessage    = $_POST["message"];
$userLink   = $_POST["link"];
$userDescr  = $_POST["description"];
$userPic    = $_POST["picture"];
$access_token   = $_POST["page_access_token"];
$userCaption    = $_POST["caption"];

//HTTP POST request to PAGE_ID/feed with the publish_stream
$post_url = '/'.$userPageId.'/feed';

// posts message on page feed
$userMessage = utf8_encode (stripslashes($userMessage)); 
$userMessage = iconv("UTF-8", "UTF-8//TRANSLIT", $userMessage);

$userCaption = utf8_encode (stripslashes($userCaption)); 
$userCaption = iconv("UTF-8", "UTF-8//TRANSLIT", $userCaption);

$userDescr = utf8_encode (stripslashes($userDescr)); 
$userDescr = iconv("UTF-8", "UTF-8//TRANSLIT", $userDescr);     

$msg_body['message'] = $userMessage;
$msg_body['access_token'] = $access_token;

if (!empty($userLink)) {
    $msg_body['link'] = $userLink;
}
if (!empty($userDescr)) {
    $msg_body['description'] = $userDescr;
}
if (!empty($userPic)) {
    $msg_body['picture'] = $userPic;
}
if (!empty($userCaption)) {
    $msg_body['caption'] = $userCaption;
}

if ($fbuser) {
  try {
    $postResult = $facebook->api($post_url, 'post', $msg_body );
  } 
      catch (FacebookApiException $e) {
    echo $e->getMessage();
  }
}

您是否通过与Facebook有开放会话的浏览器执行此脚本?您是否以自己的身份登录?通过浏览器。我以我自己的身份登录。当我切换到此品牌页面时,PHP应用程序要求我切换到我自己。您是否请求了
manage_page
权限?是的,我已请求manage_page权限:$fbPermissions='publish_stream,manage_page'$loginUrl=$facebook->getLoginUrl(数组('redirect_uri'=>$homeurl,'scope'=>$fbPermissions));更新:问题似乎是链接、照片或描述。如果我只在Facebook上发布一条消息,那么它的位置就是来自该品牌本身。当我添加一个链接时,它就从我的个人帐户中被放置。。。有什么建议吗?