Ben İbrahim Williams php kütüphanesi kullanarak twitter için OAuth hayata geçirdik. Bu kişisel web sunucusu (Apache) benim için iyi çalışıyor. Ben bir kamu web hosting etki için tüm uygulama dosyalarını yükledi ancak, bu çalışmayı durdurur. Benim uygulama kimlik doğrulaması için twitter linki kurar 'connect.php' kullanıcıyı yönlendirir 'twitter hesabınız ile oturum' düğmesine bastığınızda, bu bağlantıyı kurmak değildir. Aksine o 'connect.php' sayfasında santraline de kontrol. İşte connect.php olduğunu
<?php
session_start();
require_once 'twitteroauth/TwitterOAuth.php';
define("CONSUMER_KEY", "***************");
define("CONSUMER_SECRET", "********************************");
$connection = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET);
$request_token = $connection->getRequestToken('http://babar.phpnet.us/callback.php');
$_SESSION['oauth_token'] = $request_token['oauth_token'];
$_SESSION['oauth_token_secret'] =
$request_token['oauth_token_secret'];
$url = $connection->getAuthorizeURL($request_token);
header('Location: ' . $url);
?>
İşte callback.php olduğunu
<?php
session_start();
require_once 'twitteroauth/TwitterOAuth.php';
define("CONSUMER_KEY", "****************");
define("CONSUMER_SECRET", "*********************************");
if (
isset($_REQUEST['oauth_token'])
&& $_SESSION['oauth_token'] !== $_REQUEST['oauth_token'])
{
//echo 'Session expired';
header('Location: ./connect.php');
}
else {
$connection = new TwitterOAuth(CONSUMER_KEY,CONSUMER_SECRET,
$_SESSION['oauth_token'],$_SESSION['oauth_token_secret']);
$_SESSION['access_token'] =
$connection->getAccessToken($_REQUEST['oauth_verifier']);
header('Location: index1.php');
}
?>
index1.php
if (empty($_SESSION['access_token'])) {
header('Location: ./connect.php');
}
require_once 'twitteroauth/TwitterOAuth.php';
define("CONSUMER_KEY", "**************");
define("CONSUMER_SECRET", "*******************");
$connection = new TwitterOAuth(CONSUMER_KEY,CONSUMER_SECRET,
$_SESSION['access_token']['oauth_token'],
$_SESSION['access_token']['oauth_token_secret']
);
include("index.php");
$tweetmsg = $_POST['t_update'];
$result = $connection->post('statuses/update', array('status' => $tweetmsg));
if (200 === $connection->http_code) {
//echo'tweet posted';
}
else {
$resultmsg = 'Could not post Tweet. Error: '.$httpCode.'
Reason:'.$result->error;
//echo $resultmsg;
}
?>