作为品牌页面发布到facebook-PHP
我在Facebook上有一个粉丝页面(或品牌页面)。我已经创建了一个PHP应用程序,我想在这个品牌页面上发布消息,但不是用我自己的用户名,而是用这个品牌名称。所以基本上我想用这个品牌的名字,通过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
//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上发布一条消息,那么它的位置就是来自该品牌本身。当我添加一个链接时,它就从我的个人帐户中被放置。。。有什么建议吗?