2013-06-12 26 views
6

Tweet'leri ve echo json'ları almak için aşağıdaki kodu kullanıyorum. Bu iyi çalışıyor.twitter 1.1 api ve twitteroauth kullanarak tweet nasıl gönderilir

<?php 
session_start(); 
require_once('includes/twitter/twitteroauth.php'); 

$twitteruser = "xxxxxx"; 
$notweets = 3; 
$consumerkey = "xxxxxxx"; 
$consumersecret = "xxxxxx"; 
$accesstoken = "xxxxxxxx"; 
$accesstokensecret = "xxxxxx"; 

$connection = new TwitterOAuth($consumerkey, $consumersecret, $accesstoken, $accesstokensecret); 
$tweets = $connection->get("https://api.twitter.com/1.1/statuses/user_timeline.json?screen_name=".$twitteruser."&count=".$notweets); 

echo json_encode($tweets); 
?> 

Şimdi benzer kodu kullanarak bir tweet göndermek istiyorum ancak çalışmaz. Gönderen sözdiziminin doğru olup olmadığından emin değilim. lütfen birisi bana yardım edin.

<?php 
session_start(); 
require_once('includes/twitter/twitteroauth.php'); //Path to twitteroauth library 

$twitteruser = "xxxxxx"; 
$notweets = 3; 
$consumerkey = "xxxxxxx"; 
$consumersecret = "xxxxxx"; 
$accesstoken = "xxxxxxxx"; 
$accesstokensecret = "xxxxxx"; 

// start connection 
$connection = new TwitterOAuth($consumerkey, $consumersecret, $accesstoken, $accesstokensecret); 
//message 
$message = "Hi how are you"; 
//send message 
$status = $connection->post('https://api.twitter.com/1.1/statuses/update.json', array('status' => $message)); 
?> 

cevap

14

Yeni API bozulduğunda tweets göndermek için twitteroauth.php kullanıyordum. $connection->post doğru kullanıyorsunuz, ancak işlev artık çalışmıyor. Bulduğum en kolay çözüm yeni 1.1 API için J7mbo en twitter-api-php dosyası ile twitteroauth.php değiş tokuş etmekti:

https://github.com/J7mbo/twitter-api-php

İşte kullanmaktan duyduğu adım adım talimatlar var. O belirli sağlamaz

Simplest PHP example for retrieving user_timeline with Twitter API version 1.1

: Ben sadece onun fonksiyonu uygun yerlerde aramaları ile twitteroauth aramaları geçiş, size kod çoğu aynı bırakabilir bulmak için hoş bir sürpriz olacak düşünüyorum burada bir tweet gönderme, ancak örneği bu işlev için gerekenler ne:

yeni twitter API ile
$url = 'https://api.twitter.com/1.1/statuses/update.json'; 
$requestMethod = 'POST'; 
$postfields = array(
    'status' => 'Hi how are you'); 
echo $twitter->buildOauth($url, $requestMethod) 
      ->setPostfields($postfields) 
      ->performRequest(); 

, kendi kullanıcı adı/şifre temin etmek gerekmez. Kimlik doğrulama belirteci her şeyi ele alacaktır.

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

Deneyin API anahtarı burada öğretici okuma yoluyla size gönderebilir kullanıcı adı/şifre gerekmez:

-2

enconde gerekir:

Örnek

$status = $connection->post('https://api.twitter.com/1.1/statuses/update.json', array('status' => rawurlencode($message))); 

kütüphanede işaretlerseniz yolu kodladıkları Yani https://github.com/J7mbo/twitter-api-php

önerilen

İlgili konular