- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:最後1行だけ…どのように書き直せばいいのでしょうか)
PHPでFC2ブログに投稿するスクリプトを作成していますが、Twitterのタイムラインをすべて拾える方法を知りたい
このQ&Aのポイント
- PHP初心者が試行錯誤している中で、FC2ブログに投稿するスクリプトを作成しています。現在、投稿記事を自分のTwitterのタイムラインにも表示させたいと考えています。しかし、現在のスクリプトでは一番古いツイートのみが投稿されてしまいます。どのように修正すれば、すべてのタイムラインを拾えるのでしょうか。
- また、記事タイトルを自動指定したり、特定時間内のツイートのみを拾う方法、ツイート内のURLを自動的にリンクさせる方法についても教えていただきたいです。
- 以上が、PHPでFC2ブログに投稿するスクリプトを作成している際に困っている点です。具体的な修正方法や書き方についてご教示いただければ幸いです。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
>foreach ($tweets as $tweet) { >echo "<li>".$tweet->text."</li>"; >} この記述で全部拾えているのですよね?であれば $str = ''; foreach ($tweets as $val) { $str .= $val->text . "\n"; } $bm->postEntry(" [". $str ."]"); などとすればいいのでは? >記事タイトルをその日のものに自動指定したり、時間を >指定して(例えば24時間など)その時間内にしたツイートを >限定して拾える方法、ツイート内にURLがあった場合自動 >リンクする書き方 とりあえず var_dump($tweets); として、どういうデータが拾えるのかを確認してみては如何ですか?多分、tweetした日時も取れているとは思いますが・・・
お礼
ありがとうございます! $val->retweeted_status->text ですね! 自己解決しました!
補足
shimix様。本当にありがとうございます! ご教授の通り行ない、調べたり試行錯誤して、見事にテキストから、時間日時、自動リンクまで作成することができました。この1ヶ月でのどに詰まっていたことがスッと解決しました! とても簡潔にわかりやすく回答を下さったshimix様に心から御礼申し上げます。 そしてvar_dump($tweets);でオブジェクトを引き出して入力できるようになりました! ただ、そこで少し疑問が生じまして、補足という名目で再度聞いて恐縮なのですが、 foreach ($tweets as $val) { $str .= $val->text .'<br />' .$val->created_at .'<br /><br />'."\n"; 現在は、このような形で、ツイートと時間を引き出していますが、リツイートのみテキストが途中で「 ...」と切られてしまって困っています。 例えば、var_dump($tweets);でオブジェクトを見てみるとこのような感じに、途中で途切れてに表示されているテキストと、 そのすぐ次の次のオブジェクトに、全部フルで表示されているオブジェクトがあります。 12 => object(stdClass)[25] public 'text' => string 'RT @xxxxxxxx: 吾輩は猫である。名前はまだ無い。どこで生れたか頓(とん)と見當がつかぬ。何でも薄暗いじめじめした所でニヤーニヤー泣いて居た事丈は記憶して居る。吾輩はこゝで始めて人間といふものを見た。然(しか)もあとで聞くとそれは書生といふ人間中で一番獰悪(だうあく)な種族であつたさうだ。此書生といふのは時々我々を捕 ...' (length=344) ※(同じ12 =>内で、[26]、[27]と下位オブジェクトに並んでいます)↓ object(stdClass)[27] public 'text' => string ' 吾輩は猫である。名前はまだ無い。どこで生れたか頓(とん)と見當がつかぬ。何でも薄暗いじめじめした所でニヤーニヤー泣いて居た事丈は記憶して居る。吾輩はこゝで始めて人間といふものを見た。然(しか)もあとで聞くとそれは書生といふ人間中で一番獰悪(だうあく)な種族であつたさうだ。此書生といふのは時々我々を捕(つかま)へて煮て食ふといふ話である。' (length=388) 13 => object(stdClass)[29] : : 自分自身のツイートは文字数フルでツイートされていても、全テキスト表示されるのですが、リツイートの長いテキストのみ文末が「...」にされてしまいます。 おそらく「RT @xxxxxxxx:(これだと14文字)」分の文字数が多いので、押し出された文末が「...」に省略されてしまうのだと思います。(入力された文字の短いリツイートは全部表示されます) この場合、リツイートのツイートのみを、上のように「...」で省略せずに、 下の全部フルテキストのオブジェクトの方を指定して引き出したいのですが、この場合はどう指定して書けばいいでしょうか? 誠に勝手にも続けて質問して恐縮ですが、教えていただけたら幸いに存じ上げます。