php, как опубликовать в facebook из пользовательского текстового поля?

#php #facebook #post #textbox

#php #Facebook #Публикация #текстовое поле

Вопрос:

я использую скрипт Twitter для публикации сообщений на стене Twitter из HTML-формы, смотрите здесь:

  <form name="csp_post" action="/test.php" method="post" >
 <textarea name="text" id="text" rows="3" cols="64" ></textarea>
 <input type="hidden" name="action" value="post">
<?php session_start();

include 'twitter-oauth/lib/EpiCurl.php';
include 'twitter-oauth/lib/EpiOAuth.php';
include 'twitter-oauth/lib/EpiTwitter.php';
include 'twitter-oauth/lib/secret.php';

$twitterObj = new EpiTwitter($consumer_key, $consumer_secret);

if(isset($_SESSION['oauth_token'])){
$oauth_token = $_SESSION['oauth_token'];
} 
else {
$oauth_token = $_GET['oauth_token'];
$_SESSION['oauth_token']=$_GET['oauth_token'];
}

$oauth_token = $_GET['oauth_token'];

if($oauth_token == '')
  { 
    $url = $twitterObj->getAuthorizationUrl();
    echo "<div style='width:auto;margin-top:10px;margin-left:10px;margin-right:auto'>";
    echo "<a href='$url'>Sign In with Twitter to post Comments</a>";
    echo "</div>";
 } 
else
  {
    echo "<div style='width:auto;margin-top:10px;margin-left:10px;margin-right:auto'>";
    echo "Your comments are now being posted on Twitter";
    echo "</div>";
    $twitterObj->setToken($_GET['oauth_token']);
    $token = $twitterObj->getAccessToken();
    $twitterObj->setToken($token->oauth_token, $token->oauth_token_secret);     
    $_SESSION['ot'] = $token->oauth_token;
    $_SESSION['ots'] = $token->oauth_token_secret;
    $twitterInfo= $twitterObj->get_accountVerify_credentials();
    $twitterInfo->response;

    $username = $twitterInfo->screen_name;
    $profilepic = $twitterInfo->profile_image_url;
 } 

if(isset($_POST['cssp']))
  {
    $msg = $_REQUEST['text'];

    $twitterObj->setToken($_SESSION['ot'], $_SESSION['ots']);
    $update_status = $twitterObj->post_statusesUpdate(array('status' => $msg));
    $temp = $update_status->response;
    echo "<div align='center'>Updated your Timeline Successfully .</div>";
  }
?> 

    <input type='image' src='../images/123.gif' rel='submit' border='0' value='Tweet' name='cssp' id='cssp' alt='Share'/>
  </form>
  

таким образом, Twitter будет захватывать все, что я публикую в текстовой области, и размещать это на стене.

я хотел бы сделать то же самое с facebook. Я знаю, что есть приложения, которые могут делать то же самое, но те, которые я нашел, используют другое текстовое поле, и я хочу использовать то, которое у меня уже есть.

есть идеи? Спасибо

Ответ №1:

Для этого вы можете использовать Facebook Graph API (документация:http://developers.facebook.com/docs/reference/api /), в частности, следующую функцию: http://developers.facebook.com/docs/reference/api/post /

Прочитайте нижнюю часть страницы, блок с именем Publishing, это должно сделать то, что вы хотите.

Для аутентификации с использованием выбранной вами учетной записи вам придется использовать OAuth (http://developers.facebook.com/docs/authentication /); это довольно сложно, поэтому я бы настоятельно рекомендовал использовать библиотеку для этого, предпочтительно собственную библиотеку PHP Facebook:https://github.com/facebook/php-sdk /