web-dev-qa-db-ja.com

Twitter 1.1apiとtwitteroauthを使用してツイートを投稿する方法

以下のコードを使用して、ツイートを取得し、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));
?>
6
Susheel Singh

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

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

これが彼の使用方法のステップバイステップの説明です。ほとんどのコードを同じままにして、twitteroauth呼び出しを適切な場所で彼の関数呼び出しに切り替えるだけでよいことに気付くと嬉しい驚きだと思います。

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

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

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

新しいTwitterAPIを使用すると、ユーザー名/パスワードを入力する必要がなくなります。認証トークンがすべてを処理します。

15
ideonexus

例を使用してください。

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

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

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

1
Savan Paun