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

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

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

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

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

1481閲覧

Twitter API の /2/users/:id/tweets でのツイート取得数が少ない。

Avent

総合スコア47

Twitter

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

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2022/07/28 16:55

前提

Twitter API の /2/users/:id/tweets を使用してあるユーザーの投稿を取得しようとしているのですが、何故か4件しか取得されず meta.next_token も表示されません。より過去のツイートを取得したいのですが、足りないパラメータ等ありますか?

URL: https://api.twitter.com/2/users/1202623941388333058/tweets?exclude=retweets%2Creplies

Pythonのurllib.requestを使用しています。

発生している問題・エラーメッセージ

{ "data": [ { "id": "1552673766911918080", "text": "https://t.co/5R2Ng6Eunt" }, { "id": "1552519219065110528", "text": "#初音ミク レーシングミク2022 https://t.co/zsrE6GlIZg" }, { "id": "1552312159153303552", "text": "https://t.co/ksjZjhFYra" }, { "id": "1552156831455367169", "text": "#原神 刻晴 https://t.co/llOAnJmxsJ" } ], "meta": { "result_count": 4, "newest_id": "1552673766911918080", "oldest_id": "1552156831455367169" } }

該当のソースコード

Twitter APIの仕様に関する質問なのでコードが載ってても意味ないと思いますが一応。

Python

1import json 2import os 3from urllib import request, parse 4from urllib.error import HTTPError, URLError 5import dotenv 6dotenv.load_dotenv() 7 8querys = parse.urlencode({ 9 'exclude': 'retweets,replies', 10}) 11 12req = request.Request( 13 url='https://api.twitter.com/2/users/' + '1202623941388333058' + '/tweets' + '?' + querys, 14 headers={ 15 'Authorization': 'Bearer ' + os.getenv('TWITTER_BEARER') 16 }, 17) 18 19try: 20 with request.urlopen(req) as res: 21 print(json.dumps(json.loads(res.read()), indent=4, ensure_ascii=False)) 22except HTTPError as err: 23 print(err.code) 24except URLError as err: 25 print(err.reason)

試したこと

上記のコードを実行した。

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

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

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

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

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

guest

回答1

0

ベストアンサー

Twitter API v2 は、基本的に「最新の 7日間」の Tweet しか取得出来なかったと思いますが、リツイートとリプライ以外の投稿が7日間に4件しか投稿されていないということはありませんか?

投稿2022/07/28 21:17

CHERRY

総合スコア25171

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問