2013-06-25 3 views
0

У меня есть страница поклонника (или страница брендинга) на Facebook. Я создал приложение PHP, и я хотел бы размещать сообщения на этой странице брендинга, но НЕ под моим собственным именем пользователя, а как это название. Поэтому в основном я хотел бы написать имя этого бренда через PHP.Опубликовать в facebook как страницу брендинга - 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(); 
    } 

код помещает сообщение на странице брендинга, но из моего собственного счета. Любая идея, как я могу писать, как будто сообщение пришло от самого бренда?

Заранее благодарен!

+0

Вы исполняющие этот скрипт через браузер, который имеет открытую сессию на Facebook? Вы вошли в систему как самостоятельно? –

+0

Через браузер. Я вошел в систему как я. Когда я переключаюсь на эту страницу брендинга, приложение PHP просит меня переключиться на себя –

+0

Вы запросили разрешение «manage_page»? –

ответ

1

Мне это удалось в конечном итоге. Проблема заключалась в том, что я не прошел токен доступа к странице. Следующий код работает довольно хорошо, а также устраняет проблему кодировки символов я имел при проводке расширенных знаков 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(); 
    } 
}