###前提・実現したいこと
PHPプログラムを作っています。
内容は、テキストボックスにキーワードを入力して検索をかけると、
そのキーワードが含まれる(Twitter上でつぶやかれている)ツイートを表示するというものです。
コードを書いて実行したところAPIが古いというようなエラー文がでてきました。
どうしたらちゃんと実行できるでしょうか。
###発生している問題・エラーメッセージ
string(120) "The Twitter REST API v1 is no longer active. Please migrate to API v1.1. https://dev.twitter.com/docs/api/1.1/overview. "
###該当のソースコード
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>ツイートの検索</title> </head> <body> <?php if (isset($_POST["q"]) and !empty($_POST["q"])) { $q = htmlspecialchars($_POST["q"], ENT_QUOTES); } elseif (isset($_GET["q"]) and !empty($_GET["q"])) { $q = htmlspecialchars($_GET["q"], ENT_QUOTES); if (isset($_GET["since_id"])) { $param .= "&since_id=" . htmlspecialchars($_GET["since_id"], ENT_QUOTES); } if (isset($_GET["page"])) { $param .= "&page=" . htmlspecialchars($_GET["page"], ENT_QUOTES); } if (isset($_GET["max_id"])) { $param .= "&max_id=" . htmlspecialchars($_GET["max_id"], ENT_QUOTES); } } else { $skip = true; } ?> <p>ツイートの検索</p> <!-- 検索キーワード --> <form method="POST" action="<?php echo $_SERVER["SCRIPT_NAME"]; ?>"> <input type="text" value="<?php echo $q; ?>" name="q"> <input type="submit" value="検索" name="sub1"> </form> <?php if (!$skip) { $url = "http://search.twitter.com/search-home"; $param .= "&lang=ja&q=" . rawurlencode($q); $c = curl_init("{$url}?{$param}"); curl_setopt($c, CURLOPT_RETURNTRANSFER, 1); $result = curl_exec($c); curl_close($c); $json = json_decode($result); // var_dump($result);die; // echo "<a href=\"{$_SERVER['SCRIPT_NAME']}{$json->refresh_url}\"> 新たなツイートを表示 </a><hr />"; foreach ($json->results as $res) { $text = $res->text; $dt = date("Y/m/d H:i:s", strtotime($res->created_at)); echo "{$text}({$dt})<hr />"; } if (!isset($_GET["since_id"])) { echo "<a href=\"{$_SERVER['SCRIPT_NAME']}{$json->next_page}\"> 次のページ</a>"; } } ?> </body> </html>
回答2件
あなたの回答
tips
プレビュー