使用PHP和Twitter API创建回复

CLi*_*own 5 php twitter ajax jquery

这是与jQuery .ajax结合使用的PHP代码,用于创建新的推文:

/* Create a TwitterOauth object with consumer/user tokens. */
$connection = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET, $access_token['oauth_token'], $access_token['oauth_token_secret']);

    $qtweet = $_POST['tweet'];
    $connection->post('statuses/update', array('status' => $qtweet));
Run Code Online (Sandbox Code Playgroud)

数据由表单和一些jQuery .ajax提供:

<form id="tweethis" method='post' action=''>
    <textarea style="width: 42em;" name="tweet" rows="5" id="tweet" ></textarea>
    <br />
    <p class="confirm" style="padding-bottom: 4px;">Tweet Sent.</p>
    <span id="charLeft">140</span>  Characters left
    <br />
    <input type='submit' value='Tweet This!' name='submit' id='submit' />
</form>

$("#tweethis #submit").click(function() {  
    //The Tweet
    var tweettxt = $("textarea#tweet").val();
    var ptweettxt = 'tweet=' + tweettxt;
    $.ajax({
      type: "POST",
      url: "tweet.php",
      data: ptweettxt,
      success: function() {
        $('#tweethis .confirm').css('color','red').slideDown(500).delay(3000).slideUp(500);
        $('textarea#tweet').val("");
      }
    });
    return false;
}); 
Run Code Online (Sandbox Code Playgroud)

我想调整表单以处理回复,因此用户可以单击推文的ID,该ID将添加到FORM中.FORM将需要另一个隐藏字段,该字段最初将为空白,因此当用户提交没有回复ID时,他们只发送一条推文.

但是我需要PHP文件中的一些代码来检查_POST是否为空或null,如果null只发送一条推文但是如果它有一个ID则创建一个回复.

如果字段为空或填充了ID,我该如何检查?

我还需要帮助创建回复.

文档在这里:http://dev.twitter.com/doc/post/statuses/update

这是我到目前为止为PHP编写的内容:

$qtweet = $_POST['tweet'];
$tweetid = $_POST['tweetid'];
$connection->post('statuses/update', array('status' => $qtweet, 'in_reply_to_status_id => $tweetid'));
Run Code Online (Sandbox Code Playgroud)

不确定我是否正确构建数组或者这是Twitter API可接受的.

与所有这些相比,.ajax将是微不足道的,因为我将隐藏的表单值作为_POST中的另一个值传递.

任何对此的帮助都非常感激,这是我完成我的第一个PHP项目的最后一件事,我创建了自己的Twitter客户端,专门用于会议,其中使用标签来跟踪后台频道.

Gal*_*len 0

你使用empty()来检查是否有东西是空的=)

你还需要纠正这一行......

$connection->post('statuses/update', array('status' => $qtweet, 'in_reply_to_status_id' => $tweetid));
Run Code Online (Sandbox Code Playgroud)

不要将变量放在引号中

也许像

if ( empty( $_POST['tweetid'] ) ) {
    $connection->post('statuses/update', array('status' => $qtweet));
}
else {
    $connection->post('statuses/update', array('status' => $qtweet, 'in_reply_to_status_id' => $_POST['tweetid']));
}
Run Code Online (Sandbox Code Playgroud)

您只需将推文的 ID 放入表单中即可