6

以下のコードを使用してツイートを取得し、json をエコーし​​ます。これはうまくいきます。

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

4 に答える 4

15

新しい API が壊れたとき、私は twitteroauth.php を使って自分でツイートを投稿していました。を正しく使用して$connection->postいますが、機能が機能しなくなっているようです。私が見つけた最も簡単な解決策は、twitteroauth.php を新しい 1.1 API 用の J7mbo の twitter-api-php ファイルと交換することでした。

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

これを使用するための彼の段階的な手順は次のとおりです。適切な場所で twitteroauth 呼び出しを彼の関数呼び出しに切り替えるだけで、ほとんどのコードをそのままにしておくことができることに驚くと思います。

Twitter API バージョン 1.1 で user_timeline を取得するための最も単純な PHP の例

彼はツイートを投稿する具体的な例を提供していませんが、その機能に必要なものは次のとおりです。

$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 を使用すると、ユーザー名とパスワードを提供する必要がなくなります。認証トークンはすべてを処理します。

于 2013-07-31T03:46:37.263 に答える
5

例を使用してください:

$connection->post('statuses/update', array('status' =>$message));
于 2013-09-05T10:38:41.620 に答える
1

APIキーを介して投稿できるユーザー名/パスワードは必要ありません。こちらのチュートリアルをお読みください。

http://designspicy.com/learn-how-to-post-on-twitter-using-php-and-oauth/

于 2014-10-15T07:53:09.507 に答える
-2

問題は、 enconde である必要がある値を enconding することです:

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

ライブラリにチェックインする場合は、https://github.com/J7mbo/twitter-api-phpをお勧めします

パラメータをエンコードする方法

于 2016-09-23T18:17:00.937 に答える