Twitter API v2の使い方3[Tweet情報取得編](検索オプション・属性のまとめ)

Twitter API v2の使い方3[Tweet情報取得編](検索オプション・属性のまとめ)

Twitter API v2の使い方

Twitter API v2は下の表のようなことができる。

機能説明
Tweet lookupツイートのID からツイートを検索する
User lookup名前かIDからユーザーを検索する
Recent search最新7日間のツイートをTwitterの機能により検索した結果を取得する
Full-archive search2006年3月以降の完全なアーカイブからツイートを検索する
現在は「Academic Research」でのみ提供している。
User Tweet timeline特定のユーザーのタイムラインを取得する
User mention timeline特定のユーザーへのメンション(「@ユーザー名」を含むツイート)を取得する
Filtered streamフィルターにマッチしたツイートをリアルタイムにストリーミングする
Sampled stream全てのツイートのおよそ1%をリアルタイムでストリーミングする
Hide replies特定のツイートに対するリプライの表示・非表示を切り替える

以前はツイート検索をしたかったためRecent search機能を使用した。

ここで、ツイート検索をする際に用いる検索オプション、得られるデータの詳細をまとめる。

公式から引っ張ってきただけ。
https://developer.twitter.com/en/docs/twitter-api/early-access

1. Recent searchの基本的な使い方

以前Pythonから使用したときのまとめ↓

APIにquery(検索ワード)tweet_fields(取得する属性)を渡すと検索結果が返ってくる。

2. 検索ワード

query(検索ワード)に以下の要素を含めると対応したものが検索できる。
AND検索、OR検索などもできる。

検索ワード説明
keyword検索ワード
句読点、記号、区切り文字で分割される
それらを含めて検索したい場合は全体をダブルクォーテーションで囲む
「岩石の巨兵」
emoji絵文字「emoji」
exact phrase match正確な検索ワード
全体をダブルクォーテーションで囲む
「”聖なるバリア -ミラーフォース-“」
#ハッシュタグ「#遊戯王」
@メンション「@YuGiOh_OCG_INFO」
from:特定のユーザーの投稿したツイート「from:YuGiOh_OCG_INFO」
to:特定のユーザーに対して投稿したツイート「to:YuGiOh_OCG_INFO」
url:UPLの検索
短縮URLも元のURLも両方マッチする
句読点や特殊文字を含む場合は全体をダブルクォーテーションで囲む
「url:”https://www.yugioh-card.com/"」
retweets_of:特定のユーザーのリツイート「retweets_of:YuGiOh_OCG_INFO」
context:ドメインID・エンティティIDの組からツイートを検索
“※”はワイルドカードとして使える
「context:67.1108732957936644096」
※ドメインID 67→’Interests and Hobbies’
※エンティティID 1108732957936644096→’YU-GI-OH!’
entity:エンティティからツイートを検索
エンティティIDではなく文字列
エンティティIDを使いたい場合は「context:」を使用
「entity:”遊戯王”」

3. 検索オプション

query(検索ワード)に以下の要素を含めると対応したものだけが検索できる。
マイナス検索するとそれ以外のものだけ取得できる。

演算子説明
is:retweetリツイート「is:retweet」
is:verified公式アカウントによるツイート「is:verified」
has:hashtagハッシュタグが含まれるツイート「has:hashtag」
has:linksリンクが含まれるツイート「has:links」
has:mentionsメンションが含まれるツイート「has:mentions」
has:mediaメディアが含まれるツイート「has:media」
has:images画像が含まれるツイート「has:images」
has:videos動画が含まれるツイート「has:videos」
lang:特定の言語によるツイート
たまに日本語が中国語扱いされる
「lang:ja」

4. 取得できる属性

tweet_fields(取得する属性)に以下の要素を含めると対応したものが取得できる。

種類説明
id (default)stringツイートのIDid”: “1050118621198921728
text (default)stringツイートの本文(utf-8)text”: “this is tweet.
attachmentsobject添付されたもの(画像・投票など)のタイプ“attachments”: {
“poll_ids”: [
“1199786642468413448”
]
}
“attachments”: {
“media_keys”: [
“3_1136048009270239232”
]
}
author_idstring投稿者のIDauthor_id”: “2244994945
context_annotationsarrayツイートのトピック(Twitterの自動認識?)
domainは大まかなジャンル「スポーツ」「ゲーム」など
entityは作品名のような細かい属性
“context_annotations”: [
{
“domain”: {
“id”: “47”,
“name”: “Brand”,
“description”: “Brands and Companies”
},
“entity”: {
“id”: “10045225402”,
“name”: “Twitter”
}
}
]
conversation_idstring会話の始点のツイートIDconversation_id”: “1050118621198921728
created_atdate (ISO 8601)ツイートの投稿時刻(世界標準時)created_at”: “2019-06-04T23:12:08.000Z
entitiesobjectツイートに埋め込まれているテキスト以外のもの
ハッシュタグ・メンション・URL・キャッシュタグ
アノテーション(このツイートが何に関連しているか)
対象テキストの開始位置・終了位置・アノテーションの場合は信頼度
“entities”: {
“annotations”: [
{
“start”: 144,
“end”: 150,
“probability”: 0.626,
“type”: “Product”,
“normalized_text”: “Twitter”
}
],
“hashtags”: [
{
“start”: 0,
“end”: 17,
“tag”: “blacklivesmatter”
}
]
}
geoobjectユーザーがタグ付けした場所の詳細
場所のID・座標
“geo”: {
“coordinates”: {
“type”: “Point”,
“coordinates”: [
-73.99960455,
40.74168819
]
},
“place_id”: “01a9a39529b27f36”
}
in_reply_to_user_idstringリプライ先のユーザーIDin_reply_to_user_id”: “2244994945
langstringツイートの言語lang”: “en
non_public_metricsobjectツイートの非公開エンゲージメント指標
ユーザー認証が必要
インプレッション数・リンククリック数・
ユーザープロフィールクリック数
“non_public_metrics”: {
“impression_count”: 99
“url_link_clicks”: 37
“user_profile_clicks”: 22
}
organic_metricsobjectツイートのエンゲージメント指標
ユーザー認証が必要
インプレッション数・リンククリック数・
ユーザープロフィールクリック数
リプライ数・いいね数・リツイート数
“organic_metrics”: {
“impression_count”: 3880,
“like_count”: 8,
“reply_count”: 0,
“retweet_count”: 4
“url_link_clicks”: 3
“user_profile_clicks”: 2
}
possiby_sensitivebooleanセンシティブな内容を含む可能性があるかpossibly_sensitive”: false
promoted_metrics object “ツイートが宣伝されたときのエンゲージメント指標
ユーザー認証が必要
インプレッション数・リンククリック数・
ユーザープロフィールクリック数
public_metricsobjectツイートの公開エンゲージメント指標
リプライ数・いいね数・リツイート数
“public_metrics” : {
“retweet_count”: 8,
“reply_count”: 2,
“like_count”: 39,
“quote_count”: 1
}
referenced_tweetsarray参照しているツイートのリスト
タイプ(リプライ・引用)・ツイートID
“referenced_tweets”: [
{
“type”: “replied_to”,
“id”: “1242125486844604425”
}
]
reply_settingsstringこのツイートにリプライ可能な範囲reply_settings”: “everyone
sourcestringツイート元のアプリの名前source”: “Twitter Web App
withheldobject地域の法律により表示が差し控えられているツイートの詳細“withheld”: {
“copyright”: false,
“country_codes”: [
“IN”
]
}

5. 参考

https://developer.twitter.com/en/docs/twitter-api/early-access

https://developer.twitter.com/en/docs/labs/recent-search/guides/search-queries

https://developer.twitter.com/en/docs/twitter-api/data-dictionary/object-model/tweet

6. Twitter API リンク

タグ

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×