2013-06-12 9 views
6

以下のコードを使用して、私のつぶやきとecho jsonを取得します。これは正常に動作します。twitterを使ってtwitterを投稿するには1.1 apiとtwitteroauth

<?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); 
?> 

私は同様のコードを使用してツイートを送信しますが、それは動作しません。送信構文が正しいかどうかはわかりません。誰かが私を助けてください。

<?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)); 
?> 

答えて

14

twitteroauth.phpを使用して、新しいAPIが壊れたときにツイートを投稿していました。 $connection->postを正しく使用していますが、それ以上機能しないようです。私が見つけた最も簡単な解決策は、新しい1.1 APIのためJ7mbo者のTwitter-API-PHPファイルでtwitteroauth.phpをスワップアウトすることでした:

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

ここにそれを使用するための彼のステップバイステップの手順です。彼は特定していません

Simplest PHP example for retrieving user_timeline with Twitter API version 1.1

:私はちょうど彼の機能は、適切な場所で呼び出すとtwitteroauth呼び出し切り替え、あなたはあなたのコードのほとんど同じ残すことができます見つけることが愉快に驚かれることと思いますつぶやきを投稿が、ここであなたがその機能のために必要なものを何の例:

$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(); 

新しいTwitterのAPIを使用すると、あなたはあなたのユーザー名/パスワードを入力する必要はありません。認証トークンはすべてを処理します。

5

だけの例を使用します。

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

私たちはツイートIDを取得しますか?応答としての時間? –

+0

別の 'url'パラメータに 'status'を渡したいと思っています – RaviPatidar

-2

問題は値をencondingについてですencondeする必要があります。

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

あなたはライブラリにチェックし、それらがコードするやり方ことhttps://github.com/J7mbo/twitter-api-php

をお奨めした場合パラメータ

関連する問題