我在我的網站上有一個用戶可以編輯的textarea,最多140個字符。我有兩個提交按鈕 - 一個發佈到Facebook,一個發佈到Twitter。我能夠得到Facebook按鈕工作正常,但我堅持Twitter按鈕的一半。PHP在Twitter上發佈使用oAuth
當用戶點擊按鈕發送推文時,我只能將它發送到我自己的帳戶。我希望這個去用戶的帳戶。我意識到這是因爲我在我的PHP中定義了oAuthToken/Secret,但我不確定如何請求用戶登錄/授權我的應用程序,因此創建和使用他們的oAuth信息。我似乎無法在這裏或其他任何地方找到適合我的答案,所以一些幫助或正確方向上的一點會很棒!
這裏是我到目前爲止的代碼:
<?php if($_SERVER['REQUEST_METHOD'] == "POST") { ?>
<?php $statusupdate = $_POST['text']; ?>
<?php $socialsubmit = $_POST['socialsubmit']; ?>
<?php if($socialsubmit == "share") { ?>
<div id="fb-root"></div>
<script>
window.fbAsyncInit = function() {
FB.init({
appId : '182922938522212', // App ID
channelUrl : 'channel.html', // Channel File
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
xfbml : true // parse XFBML
});
FB.ui({
method: 'feed',
name: 'Minty Delivers',
caption: 'Same Day Grocery Delivery in Halifax',
description: '<?php echo $statusupdate; ?>',
link: 'http://www.mintydelivers.com',
picture: 'http://www.mintydelivers.com/connect-share.png'
});
};
// Load the SDK Asynchronously
(function(d){
var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
if (d.getElementById(id)) {return;}
js = d.createElement('script'); js.id = id; js.async = true;
js.src = "//connect.facebook.net/en_US/all.js";
ref.parentNode.insertBefore(js, ref);
}(document));
</script>
<?php echo $socialsubmit;?>
<?php } else if($socialsubmit == "tweet") { ?>
<?php
$consumerKey = 'xxx';
$consumerSecret = 'xxx';
$oAuthToken = 'xxx';
$oAuthSecret = 'xxx';
require_once('tw/twitteroauth.php');
// create a new instance
$tweet = new TwitterOAuth($consumerKey, $consumerSecret, $oAuthToken, $oAuthSecret);
//send a tweet
$tweet->post('statuses/update', array('status' => $statusupdate));
?>
<div class="alert alert-success">
Your tweet was successfully posted. Thanks for sharing!
</div>
<?php } ?>
<?php } ?>
<form id="status-update" action=""; method="post">
<textarea name="text" onKeyPress="return charLimit(this)" onKeyUp="return characterCount(this)">I found this GREAT company called Minty that delivers groceries, wine, flowers and gifts anywhere in Halifax! www.mintydelivers.com</textarea>
<p><span id="charCount">9</span> characters left</p>
<button id="twitter" class="tweetpopup" name="socialsubmit" value="tweet" type="submit">Tweet This</button>
<button id="facebook" name="socialsubmit" value="share" type="submit">Share This</button>
</form><!-- end form -->
試試這個 - http://designspicy.com/learn-how-to-post-on-twitter-using-php-和OAuth的/ – 2014-10-15 07:54:01