Jump to content


Photo

Twitter


  • Faça o login para participar
4 replies to this topic

#1 rockeiroarck

rockeiroarck

    12 Horas

  • Usuários
  • 137 posts
  • Sexo:Não informado
  • Interesses:artes, programação, linux, php, baladas, diversão, e muito rock and roll!!

Posted 09/12/2010, 14:59

Fala galera,


Alguem aqui manja usar a api do twitter??

Estou tentando fazer integração para postar no twitter pelo meu site, mas não consigo...

mostra mensagem enviada, mas nunca aparece nada la...

estou usando oauth.


Alguem ja fez??

Pode me ajudar??


Valeu
--
Brimages - Hospedagem de Imagem Gratis - PSD, GIF, JPG, PNG
www.brimages.com.br

#2 williamkevenis

williamkevenis

    Normal

  • Banidos
  • PipPip
  • 99 posts
  • Sexo:Masculino
  • Localidade:Maceio
  • Interesses:PHP, CSS, JS

Posted 12/12/2010, 14:47

É muito simples rockeiroarck, segue abaixo o fonte

<?php
if($_SERVER['REQUEST_METHOD']=='POST' and isset($_POST['post']) and !empty($_POST['post'])){
        
function escrever($conteudo){

  if(!defined('USER') and !defined('PASS'))
  {
  define('USER',''); //usuario do twitter aqui, usuario_seu
  define('PASS',''); //sua senha
  }

  $opts = stream_context_create(array('http' => array('method'  => 'POST','header'  => sprintf("Authorization: Basic %s\r\n", base64_encode(USER.':'.PASS)).
  "Content-type: application/x-www-form-urlencoded\r\n",
  'content' => http_build_query(array('status' => $conteudo)),
  'timeout' => 10),
  ));
  
  $ler = file_get_contents('http://twitter.com/statuses/update.xml', false, $opts);

  return (false !== $ler);
}


if(escrever($_POST['post'])){

   print '<script>alert("Status atualizado com sucesso !");</script>';

}

}else{
  echo 'Insira alguma mensagem...';
}
?>
<form name="postagem" action="" method="POST">
  <table width="318" border="1">
    <tr>
      <th width="214" scope="row">Menssagem:</th>
      <td width="570">
        <textarea name="post" id="post" cols="45" rows="10"></textarea>
      </td>
    </tr>
    <tr>
      <th scope="row"> </th>
      <td>
        <input type="submit" name="Atualizar" id="Atualizar" value="Atualizar" />
      </td>
    </tr>
  </table>
</form>

Att, William Kévenis. A simplicidade é o último degrau da sabedoria.
Posted Image Meu post lhe ajudou? Reputar/votar é uma das formas de agradecer.

#3 André Manoel

André Manoel

    Doutor

  • Usuários
  • 996 posts
  • Sexo:Masculino
  • Localidade:Brasilia

Posted 13/12/2010, 13:10

Ou você também pode usar a Classe Zend_Service_Twitter do Zend framework... é muito boa tb.
Iniciando na Ajuda On line...

Posted Image Meu post lhe ajudou? Reputar/votar é uma das formas de agradecer.

#4 rockeiroarck

rockeiroarck

    12 Horas

  • Usuários
  • 137 posts
  • Sexo:Não informado
  • Interesses:artes, programação, linux, php, baladas, diversão, e muito rock and roll!!

Posted 15/12/2010, 16:51

É muito simples rockeiroarck, segue abaixo o fonte

<?php
if($_SERVER['REQUEST_METHOD']=='POST' and isset($_POST['post']) and !empty($_POST['post'])){
        
function escrever($conteudo){

  if(!defined('USER') and !defined('PASS'))
  {
  define('USER',''); //usuario do twitter aqui, usuario_seu
  define('PASS',''); //sua senha
  }

  $opts = stream_context_create(array('http' => array('method'  => 'POST','header'  => sprintf("Authorization: Basic %s\r\n", base64_encode(USER.':'.PASS)).
  "Content-type: application/x-www-form-urlencoded\r\n",
  'content' => http_build_query(array('status' => $conteudo)),
  'timeout' => 10),
  ));
  
  $ler = file_get_contents('http://twitter.com/statuses/update.xml', false, $opts);

  return (false !== $ler);
}


if(escrever($_POST['post'])){

   print '<script>alert("Status atualizado com sucesso !");</script>';

}

}else{
  echo 'Insira alguma mensagem...';
}
?>
<form name="postagem" action="" method="POST">
  <table width="318" border="1">
    <tr>
      <th width="214" scope="row">Menssagem:</th>
      <td width="570">
        <textarea name="post" id="post" cols="45" rows="10"></textarea>
      </td>
    </tr>
    <tr>
      <th scope="row"> </th>
      <td>
        <input type="submit" name="Atualizar" id="Atualizar" value="Atualizar" />
      </td>
    </tr>
  </table>
</form>


Opa, tu testou esse?? esta funcionando?
Eu tentei usar, mas não funcionou também.
Por isso tentei com o oauth...


Valeu

Ou você também pode usar a Classe Zend_Service_Twitter do Zend framework... é muito boa tb.

vou procurar sobre essa classe André

Brigadoo

williamkevenis, como te falei...

testei aqui...

deu isso aqui
Warning: file_get_contents(http://twitter.com/statuses/update.xml) [function.file-get-contents]: failed to open stream: HTTP request failed! HTTP/1.1 401 Unauthorized in

loguei com meu usuario e senha no twitter e funcionou, entao user e senha estão ok..

valeu
--
Brimages - Hospedagem de Imagem Gratis - PSD, GIF, JPG, PNG
www.brimages.com.br

#5 TheProgrammer

TheProgrammer

    Novato no fórum

  • Usuários
  • 5 posts
  • Sexo:Masculino
  • Localidade:RS

Posted 18/12/2010, 13:46

Desde 16 de agosto o twitter limita o acesso a API somente pelo método Oauth.
Para ter acesso ao twitter vocês devem cadastrar sua API no link http://dev.twitter.com/apps/ e pegar os dados: consumer key, consumer secret, OAuth token, OAuth token secret.
Encontrei um script pronto com o método Oauth no link https://github.com/a...er/twitteroauth. Os dois arquivos são necessários!

Para usar é simples:
<?php
$msg = "testando o twitter pelo php";

require_once("twitteroauth.php");

//Configure abaixo os dados de aplicação para autenticação
//Esses dados estão no site dev.twitter.com/apps

$consumer_key = "vide-abaixo-como-preencher-aqui";
$consumer_secret = "vide-abaixo-como-preencher-aqui";
$oauth_token = "vide-abaixo-como-preencher-aqui";
$oauth_token_secret = "vide-abaixo-como-preencher-aqui";

$connection = new TwitterOAuth($consumer_key, $consumer_secret, $oauth_token, $oauth_token_secret);

if(!$connection) {
	echo "Erro na conexão";
	die();
}

$result = $connection->post('statuses/update', array('status' => $msg));

echo "Enviado!";
?>

Boa sorte!

Edição feita por: TheProgrammer, 18/12/2010, 13:48.





1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq