#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 /