Timelines endpoint との統合方法
- 役立つツール
- 重要な概念
便利なツール
重要な概念
ご注意ください以下のfieldsをリクエストする場合、OAuth 1.0a ユーザーコンテキストまたは OAuth 2.0 Authorization Code が必要です:
tweet.fields.non_public_metrics
tweet.fields.promoted_metrics
tweet.fields.organic_metrics
media.fields.non_public_metrics
media.fields.promoted_metrics
media.fields.organic_metrics
tweet.fields.non_public_metrics
tweet.fields.promoted_metrics
tweet.fields.organic_metrics
media.fields.non_public_metrics
media.fields.promoted_metrics
media.fields.organic_metrics
non_public_metrics
を受け取るには、そのユーザーに関連付けられた access tokens をリクエストに含める必要があります。ユーザーにあなたの App を認可してもらい、3-legged OAuth フロー を使用して、そのユーザーに関連付けられた一連の access tokens を受け取ることができます。
ユーザーのメンションタイムラインを使用している場合、記載の fields は、メンションした投稿者があなたの App に対して自身のプライベートな metrics の data へのアクセスを認可し、かつ OAuth 1.0a ユーザーコンテキストでそのユーザーの access tokens を使用してリクエストしている場合を除き、利用できません。
すべての non_public_metrics
、organic_metrics、promoted_metrics は、過去 30 日以内に作成された Posts に対してのみ利用可能です。つまり、これらの fields をリクエストする場合、結果は自動的に調整され、過去 30 日間の Posts のみが含まれます。
これらの fields がリクエストされた場合、認証済みユーザーが作成した Posts のみが返され、それ以外の Posts にはエラーメッセージが返されます。
Pagination
これらの endpoints はページネーションを利用して、レスポンスを迅速に返します。1 回のレスポンスで送信できる結果数(タイムライン endpoints では最大 100 Posts)を超える場合は、ページネーションが必要です。1 ページあたりに返す結果数は max_results パラメータで指定し、次ページの結果を返すには pagination_token パラメータを使用します。詳細は pagination ガイド をご確認ください。
結果のフィルタリング
これらの endpoint には、結果を絞り込むために使用できる複数のパラメータが含まれています。start_date と end_date を使用すると、特定の期間に結果を限定できます。特定の Posts の集合を Post ID で選択したい場合は、since_id と until_id を使用できます。ユーザー Post タイムラインには、結果からリツイートと返信を除外できる exclude パラメータもあります。
Post 上限と返される Posts のボリューム
ユーザー Post タイムラインとユーザーメンションタイムラインの endpoint には、月ごとに返せる Posts の数に制限があります。逆時系列のホームタイムライン endpoint にはこの制限は適用されません。
どの timeline endpoint を使用しても、返された Posts は Project レベルのPost 上限にカウントされます。使用状況は developer portal に表示され、「月」はdeveloper portal dashboardに示されるサブスクリプションの更新日から始まります。
ユーザー Post タイムライン endpoint は、ユーザーのタイムラインに投稿された直近の 3200 件の Posts のみを返します。start_time と end_time を、直近 3200 件を超える期間に設定した場合、レスポンスは成功しますが、Posts は返されません。
また、ユーザー Post タイムラインのリクエストに excludes=replies を渡した場合は、直近の 800 件の Posts のみが返される点にも注意してください。
ユーザーメンションタイムライン endpoint は、直近の 800 件の Post メンションのみを返します。
逆時系列のホームタイムライン endpoint は、直近の 3200 件の Posts を返します。
Post の編集
編集対象の Post は、元の Post が公開されてから 30 分の間に最大 5 回まで編集できます。検索 endpoint は常に Post の最新バージョンを返します。公開から 30 分以上経過した Posts のみをリクエストする場合、常に最終版の Post を受け取ります。ただし、ほぼリアルタイムのユースケースで過去 30 分以内に公開された Posts を query している場合、それらの Posts は受信後に編集されている可能性があります。これらの Posts は検索、または Post Lookup endpoint で再取得して最終状態を確認できます。Post の編集の仕組みについて詳しくは、Edit Posts の基礎ページをご覧ください。
イレギュラーケース
- ユーザー Post タイムライン endpoint で、30 日より古い Posts に対して非公開 metrics をリクエストする場合、結果数が 0 の next_token がレスポンスに含まれることがあります。この問題を回避するには、non_public_metrics パラメータでリクエストする期間を直近 30 日以内にしてください。加えて、max_results の最小値は 10 に設定してください。これらは回避に役立つ可能性がありますが、それでも発生する場合があります。
- プロモーションされていない Posts に対して promoted metrics をリクエストすると、Post data の代わりに空のレスポンスが返されます。現在、この問題の修正に取り組んでいます。
- 本文テキストが 140 文字を超える Post を含むリツイートの場合、Post の全文を返す代わりに text フィールドが切り詰められます。短期的な回避策としては、参照先の Post を展開し、そこから全文を取得してください。これは将来的に修正予定の不具合です。