Visitar na Amazon

terça-feira, 13 de dezembro de 2016

Como atualizar o status com Twitter OAuth usando PHP.

Enviado em 13:45 - por Diguinho - Marcadores :

Twitter é a plataforma mais poderosa que você pode expressar seus pensamentos com os seus seguidores. Este tutorial irá explicar três sistemas de importação como, faça o login com Twitter, armazenar fichas em banco de dados e atualizar mensagem de status com sua própria aplicação web. Este script ajuda você a compartilhar suas atualizações de aplicativos web com atualizações de status do usuário do Twitter.


Twitter OAuth Status Update using PHP.


Download Script     Live Demo

Database

Colunas id, email, oauth_uid, oauth_provider e nome de usuário.
CREATE TABLE  `TwitterUpdate` (
`user_idint(11) NOT NULL AUTO_INCREMENT,
`unamevarchar(50),
`namevarchar(90),
`oauth_tokenvarchar(90),
`oauth_token_secretvarchar(90),
PRIMARY KEY (`user_id`),
UNIQUE KEY `uname` (`uname`)
);

O tutorial contém três pastas denominadas facebook, twitter e config com arquivos PHP.
EpiTwitter
-- TwitterConfig.php 
-- EpiTwitter.php
-- EpiCurl.php
-- EpiOAuth.php //Twitter Oauth Biblioteca
index.php
home.php
db.php
TwitterLogin.php
TwitterCallback.php
TwitterUpdate.php
TwitterLogout.php


Criar aplicativo do TwitterVocê tem que criar um aplicativo e dar os detalhes da seguinte maneira.
Twitter OAuth Status Update using PHP.

Configuração da Aplicação
Modificar o nível de acesso do aplicativo.
Twitter OAuth Status Update using PHP.
Nível de acesso
Atualizar somente leitura para leitura e gravação
Twitter OAuth Status Update using PHP.

Aplicação chave API
https://apps.twitter.com/app/new
Twitter OAuth Status Update using PHP.

Configuração do aplicativo do Twitter

Você deve modificar a chave da API do aplicativo e o segredo do Api.
TwitterConfig.php

<?php
$consumer_key = 'API key';
$consumer_secret = 'API secret';
?>

db.php
Arquivo de configuração do banco de dados, detalhes do banco de dados de atualização, nome de usuário, senha e nome do banco de dados. 

<?php
session_start();
define('DB_SERVER', 'localhost');
define('DB_USERNAME', 'username');
define('DB_PASSWORD', 'password');
define('DB_DATABASE', 'databaseName');
$connection = @mysqli_connect(DB_SERVER,DB_USERNAME,DB_PASSWORD,DB_DATABASE) or die(mysqli_error());
?>

TwitterLogin.php
Este código gerará url de autorização do Twitter.

<?php
include 'EpiTwitter/EpiCurl.php';
include 'EpiTwitter/EpiOAuth.php';
include 'EpiTwitter/EpiTwitter.php';
include 'EpiTwitter/TwitterConfig.php';
$twitterObj = new EpiTwitter($consumer_key, $consumer_secret);
$TwitterLoginUrl=$twitterObj->getAuthorizationUrl();
header("Location: $TwitterLoginUrl");
?>

index.php
Contém código PHP, hiperlink para o arquivo TwitterLogin.php

<?php
session_start();
//Chekar login
if(!empty($_SESSION['TwitterUsername']))
{
header("Location: home.php");
}
?>
//HTML Codigo
<a href="TwitterLogin.php">Login with Twitter</a>

TwitterCallback.php
URL de retorno de chamada do Twitter, o Twitter enviará todos os valores dos tokens do OAuth para o arquivo seguinte. Por favor, siga os comentários do código.

<?php
include 'EpiTwitter/EpiCurl.php';
include 'EpiTwitter/EpiOAuth.php';
include 'EpiTwitter/EpiTwitter.php';
include 'EpiTwitter/TwitterConfig.php';
include("db.php");

$Twitter = new EpiTwitter($consumer_key, $consumer_secret);

if(isset($_GET['oauth_token']) || (isset($_SESSION['oauth_token']) &&isset($_SESSION['oauth_token_secret'])))
{

if(empty($_SESSION['oauth_token']) && empty($_SESSION['oauth_token_secret']) )
{
$Twitter->setToken($_GET['oauth_token']);
$token = $Twitter->getAccessToken();
$_SESSION['oauth_token']=$token->oauth_token;
$_SESSION['oauth_token_secret']= $token->oauth_token_secret;
$Twitter->setToken($token->oauth_token, $token->oauth_token_secret);
}
else
{
$Twitter->setToken($_SESSION['oauth_token'],$_SESSION['oauth_token_secret']);
}

$userData= $Twitter->get_accountVerify_credentials();
$TwitterUsername=$userData->screen_name;
$TwitterFullname=$userData->name;
$_SESSION['TwitterUsername']=$TwitterUsername;
$_SESSION['TwitterFullname']=$TwitterFullname;
$oauth_token=$_SESSION['oauth_token'];
$oauth_token_secret=$_SESSION['oauth_token_secret'];
//Checking user availability.
$tw_sql=mysqli_query($connection,"SELECT user_id FROM TwitterUpdate WHERE uname='$TwitterUsername'");

if(mysqli_num_rows($tw_sql) == 0)
{
//Insert values into TwitterUpdate table
$sql=mysqli_query($connection,"INSERT into TwitterUpdate(uname,name,oauth_token,oauth_token_secret) VALUES ('$TwitterUsername','$TwitterFullname','$oauth_token','$oauth_token_secret');");
}
header('Location: home.php'); //Redirecting Page

}
else
{
header('Location: index.php');
}
?>

home.php
Este código contém PHP, JavaScript (jquery) e HTML simples.

Aqui $("#submit").click(function(){}- Submit é o nome do id do botão de entrada.
Usando $("#message").val("") Chamando o valor textarea.
<?php
session_start();
if(empty($_SESSION['TwitterUsername']))
{
header('Location: index.php');
}
?>
<script  src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script>
$(document).ready(function()
{
//Displaying character count 
$("#message").keyup(function()
{
var A=$.trim($(this).val());
$("#count").html(A.length);
});

//Ajax message update to Twitter.
$("#submit").click(function()
{
var A=$.trim($("#message").val());
var dataString = 'TwitterMessage='+ A ;

if(A.length<=145)
{
$.ajax({
type: "POST",
url: "TwitterUpdate.php", //Ajax Call
data: dataString,
cache: false,
beforeSend: function()
{
$("#submit").val("Updating...");
},
success: function(data)
{
var B=$("#username").val();
var C='https://twitter.com/'+B+'/status/'+data;
$("#link").html('<a href="'+C+'" target="_blank">'+C+'</a>');
$("#submit").val("Post to Twitter");
$("#message").val("").focus();
$("#count").html('0');
}
});
}
else
{
alert("Maximum 145 characters.");
}

return false;
});

});
</script>
//HTML Code
<h1>Welcome to <?php echo $_SESSION['TwitterFullname']; ?></h1>
<form method="post" action="">
<textarea id="message"></textarea><span id="count">0</span>
<input type="hidden" value="<?php echo $_SESSION['TwitterUsername']; ?>" id="username"/>
<input type="submit" id="submit"  value="Post to Twitter"/>
<div id="link"></div>
</form>
<a href="TwitterLogout.php">Logout</a>

TwitterUpdate.php
Arquivo de atualização de status do Twitter OAuth.

<?php
include 'EpiTwitter/EpiCurl.php';
include 'EpiTwitter/EpiOAuth.php';
include 'EpiTwitter/EpiTwitter.php';
include 'EpiTwitter/TwitterConfig.php';
include("db.php");
if(isset($_POST['TwitterMessage']) && !empty($_SESSION['TwitterUsername']))
{
$message=mysql_real_escape_string($_POST['TwitterMessage']);
$TwitterUsername=$_SESSION['TwitterUsername'];
//Getting values from TwitterUpdate table. 
$tw_sql=mysqli_query($connection,"SELECT oauth_token,oauth_token_secret FROM TwitterUpdate WHERE uname='$TwitterUsername'");
$row=mysqli_fetch_array($tw_sql,MYSQLI_ASSOC);
$oauth_token=$row["oauth_token"];
$oauth_token_secret=$row["oauth_token_secret"];
if(strlen($oauth_token)>0 && strlen($oauth_token_secret)>0 )
{
$Twitter = new EpiTwitter($consumer_key, $consumer_secret);
$Twitter->setToken($oauth_token,$oauth_token_secret);
//Twitter status update
$status=$Twitter->post_statusesUpdate(array('status' => $message));
echo $status->id_str;
}
}
?>

TwitterLogout.php
Isso irá limpar todos os valores da sessão e redirecionar para index.php

<?php
session_start();
unset($_SESSION['TwitterUsername']);
unset($_SESSION['oauth_token']);
unset($_SESSION['oauth_token_secret']);
session_destroy();
header("location: index.php");
?>

Sobre o autor
Gabriel Medina é o autor deste blog, atualmente estuda eng. elétrica, ama jogar damas, assistir desenhos, filmes e séries, além de praticar esportes saudaveis.
Inscrever-se neste Blog via Email :

0 Comentários:

Observação: somente um membro deste blog pode postar um comentário.

© 2017 Webzoon. Designed by Bloggertheme9
Powered by Blogger.
back to top