Twitterリツイートに関するJSONについてまとめる
目的
Twitterの1つ1つのツイートはJSONで構成されており、TwitterAPIへのアクセス時には、応答として返ってきたJSONをパースして内容を読みます。
開発者がJSONの各フィールド(変数)の意味を理解しておかなければ、「そのツイートがリツイートされたものなのか、普通のツイートなのか?」などを判定する際に、誤った状態として認識してしまうことに繋がります。
本記事の目的は、リツイートに関するフィールドについてまとめ、自分への備忘録を残すことおよび情報共有を行うこととします。
結論
目的で述べた「そのツイートがリツイートであるか?」を判定するためには、"retweeted_status"のフィールドの有無を調べれば良いです。
if (tweet.retweeted_status) {
console.log(tweet.text + "はリツイートです")
console.log(tweet.retweeted_status.text + "が原文です")
} else {
console.log(tweet.text + "はリツイートではありません")
}
リツイートに関連するフィールドと説明をまとめたものを下表に示します。
No. | フィールド | 説明 |
---|---|---|
1. | retweeted |
そのツイートがリツイートされたかどうかを示す。 リツイートであるかどうかではないことに注意。 |
2. | retweet_count | そのツイートが何回リツイートされたかを示す。 |
3. | retweeted_status |
そのツイートがリツイートである場合のみ存在するフィールド。 よって「そのツイートがリツイートであるかどうか」はこのフィールドの有無を判定すれば良い。 中身はリツイート元のオリジナルのツイート。 |
4. | quoted_status |
そのツイートが引用リツイートである場合のみ存在するフィールド。 中身は引用元のオリジナルのツイート。 |
5. | quoted_status_id quoted_status_id_str |
そのツイートが引用リツイートである場合のみ存在するフィールド。 引用元のオリジナルのツイートのIDを表す。(4と同じ) |
所見
-
「そのツイートがリツイートかどうかを調べる」にあたって、以前使っていたTwitter4Jでは、Statusインターフェースに"isRetweet()"メソッドがあり、をbooleanで返してくれるようになっていた。
- 今回Node.jsでTwitter APIを利用することとなり、使用モジュール(Twit.js)には上に該当するメソッドが無かった。どのフィールドだったっけ? となった経緯がある。こうしてまとめられて良かった。
参考
1. Twitter Developer Documentation: "Tweets"
2. Twitter Developer Documentation: "POST statuses/retweet/:id"
3. Twitter開発者ドキュメント 日本語訳: "オブジェクト内のEntities"
Author And Source
この問題について(Twitterリツイートに関するJSONについてまとめる), 我々は、より多くの情報をここで見つけました https://qiita.com/Suibari_cha/items/7b09eb6441acaa8fbea1著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .