[英]Scheduled posting to twitter in PHP cURL
我目前可以使用Twitter API將推文發布到我的Twitter帳戶。 我正在使用cURL。 但是現在我想在預定的日期/時間發布這些推文。 我知道有可能,但不知道怎么做?
<?php
$twitter_consumer_key = 'xxx';
$twitter_consumer_secret = 'xxx';
$twitter_access_token = 'xxx';
$twitter_access_token_secret = 'xxx';
$twitter_version = '1.0';
$sign_method = 'HMAC-SHA1';
$status="HelloWorld";
$url = 'https://api.twitter.com/1.1/statuses/update.json';
$param_string = 'oauth_consumer_key=' . $this->twitter_consumer_key .
'&oauth_nonce=' . time() .
'&oauth_signature_method=' . $this->sign_method .
'&oauth_timestamp=' . time() .
'&oauth_token=' . $this->twitter_access_token .
'&oauth_version=' . $this->twitter_version .
'&status=' . rawurlencode($status);
//Generate a signature base string for POST
$base_string = 'POST&' . rawurlencode($url) . '&' . rawurlencode($param_string);
$sign_key = rawurlencode($this->twitter_consumer_secret) . '&' . rawurlencode($this->twitter_access_token_secret);
//Generate a unique signature
$signature = base64_encode(hash_hmac('sha1', $base_string, $sign_key, true));
$curl_header = 'OAuth oauth_consumer_key=' . rawurlencode($this->twitter_consumer_key) . ',' .
'oauth_nonce=' . rawurlencode(time()) . ',' .
'oauth_signature=' . rawurlencode($signature) . ',' .
'oauth_signature_method=' . $this->sign_method . ',' .
'oauth_timestamp=' . rawurlencode(time()) . ',' .
'oauth_token=' . rawurlencode($this->twitter_access_token) . ',' . 'oauth_version=' . $this->twitter_version;
$ch = curl_init();
//Twitter post
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Authorization: ' . $curl_header));
curl_setopt($ch, CURLOPT_VERBOSE, 1);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, 'status=' . rawurlencode($status));
$twitter_post = json_decode(curl_exec($ch));
curl_close($ch);
print_r($twitter_post);
?>
我需要進行哪些更改才能在預定的日期/時間發布推文
這是您可以執行預定的tweet的全景圖:
1-設置一個cron任務,每分鍾運行一次到名為post_tweets.php的頁面上(例如。)
2-當用戶想要安排一條推文時,請保存該推文,包括應將該推文發布到數據庫中的日期/時間。 假設該推文應該發布在2015-06-11 18:00:00
3-每次cron調用頁面post_tweets.php時,此頁面應在執行時檢查您的數據庫條目是否早於post_tweets.php的執行時間(如果頁面在2015-06-11調用) 18:00:35或以上,您的頁面上會看到您在2015-06-11 18:00:00設置了一個條目>>去,您必須發布推文!)
4-如果是,則發布推文。 然后從數據庫中刪除該tweet
5-如果沒有,則無反應
此方法需要每分鍾運行一次SELECT查詢,以檢查是否有可發布的內容。
希望您現在能更好地理解我的邏輯。
您可以使用cron作業。
有關說明, 請http://www.thesitewizard.com/general/set-cron-job.shtml 。
https://www.setcronjob.com/以獲得免費服務,如果您的主機上沒有cron選項(通常是共享主機)
請享用 !
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.