質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Twitter

Twitterは、140文字以内の「ツイート」と呼ばれる短文を投稿できるサービスです。Twitter上のほぼ全ての機能に対応するAPIが存在し、その関連サービスが多く公開されています。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

Q&A

解決済

2回答

1796閲覧

twitterのAPIで、「@XXXX/RT」 の部分とつぶやき部分を、分けて取得する方法を教えてください。

piyo-piyo

総合スコア17

Twitter

Twitterは、140文字以内の「ツイート」と呼ばれる短文を投稿できるサービスです。Twitter上のほぼ全ての機能に対応するAPIが存在し、その関連サービスが多く公開されています。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

0グッド

0クリップ

投稿2016/11/23 03:10

###前提・実現したいこと
twitterのAPIをphpで取得したのですが、以下ソースコードの$twit_result['text']の中に
アカウントIDやRT 情報と、つぶやき情報の2つが同じ列で表示されてしまいます。

最終的に、Excelで、
このアカウントID/RT情報をA行、
つぶやき情報をB行、
とまとめていきたいです。

この2つのデータの間に、
<br /> もしくは「, 」が入れられれば、
エディタで加工するか、csv形式に加工して
Excelでも貼り付けて整形しやすいのに、と思いました。

よって、この2つのデータを分けて表示させることは
可能なのでしょうか?

おわかりの方がいらっしゃいましたら、お教え頂けると幸いです。

<備考>
今回は、以下のサイトからphpデータを拝借しています。
【Twitter APIで世の中の声を拾おう!】
http://wp-e.org/2016/06/06/6811/

###該当のソースコード

PHP

1/***** リクエスト実行結果取得 *****/ 2 $res_str_arr = json_decode($res_str, ture) ; // JSONを変換 3 4/***** 検索結果表示 *****/ 5 foreach ($res_str_arr['$twit_result'] as $twit_result){ 6 $twit_content = $twit_result['text']; 7 echo $twit_content ; 8 echo "<br />" ; 9 } 10

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

まずはTweetsオブジェクトのドキュメントをご覧ください

それを踏まえて質問内容に関してですが、RTしているTweetオブジェクトの場合"RT @ScreenName: "がtextに付け加えられます。RTされている方の素のtextは、retweeted_statusにRTされている方のTweetオブジェクトが格納されているのでその中のtextを参照すればよいです。

アカウントID/RT情報は、user.(screen_nameまたはid)を参照/retweeted_statusにオブジェクトが存在するかどうか
つぶやき情報は、もしretweeted_statusにオブジェクトが存在していなければtext、していればretweeted_status.textを参照
(アカウントIDってユーザー目線ですとscreen_nameなのですがAPI的にはidなので、呼び名がややこしいですよね…)

という形でソースコードを組み立てるとよいです(最近PHP書いてないのでサンプル書けないですすいません)

(念のため補足ですが)textフィールドから"RT @ScreenName: "が先頭にあるかどうかで処理分けするという手段を思いつくかもしれないですが、この手段ではtextフィールドの語尾が切り取られている可能性があるのでだめです。

投稿2016/11/26 15:39

meilcli

総合スコア132

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

piyo-piyo

2016/12/01 03:21

meilcliさん、 アドバイスありがとうございました。 やはりtextに情報が格納されているのですね。でしたら、格納されているものを取り出して表示させることができればよいのですね。 まだPHPも勉強中なので、スムーズにさくさくと対応できないのですが、今週末にでもやってみます!ありがとうございました^^!!
guest

0

直接の回答ではありませんが、他の実装を真似てみるのが手早いと思います。

【ついに完成!TwitterAPI利用してTweet内容を完全に表示する-ITかあさん】
http://www.kaasan.info/archives/1186

投稿2016/11/23 15:31

kei344

総合スコア69364

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問