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

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

ただいまの
回答率

90.85%

  • Twitter

    577questions

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

Twitter Search APIについて

受付中

回答 3

投稿

  • 評価
  • クリップ 0
  • VIEW 1,068

tatsuya10088

score 13

Twitterアプリの検索のALL Tweetsと同じ検索結果を表示するためにはTwitter APIをどのようにすればいいのでしょうか?
例えばhogehogeと検索するときであれば、https://api.twitter.com/1.1/search/tweets.json?q=hogehogeだけでいいのでしょうか?
ご回答いただけるとありがたいです。

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 3

+4

result_typeにmixedを指定する必要があると思います。
参考

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/01/05 21:33

    ご回答ありがとうございます。
    result_type=mixedも指定してやって見ましたが、ALL Tweetsと同じ結果を得ることができませんでした。

    キャンセル

  • 2017/01/05 21:52

    回答に貼ったリンクによると、result_typeはデフォルトでmixedになったようですね。失礼しました。また、twitterのweb版の検索とsearch apiで得られる結果は同一にならないですが、改善されつつあるようです。

    キャンセル

+2

https://dev.twitter.com/rest/public/search
公式に掲載されていますね。要約すると、「ただ検索apiを使いたいだけでも認証が必要」とのことです。
なので、通常のツイッターアプリケーションの用に、アプリケーション登録、アクセスキーの取得、キーを使用して認証、の手順が必要になります。

https://dev.twitter.com/rest/reference/get/search/tweets
こちらに必要なPOST,GETのリクエスト一覧、また認証の方へのリンクまであるので、確認することをおすすめします。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/01/05 21:25

    ご回答ありがとうござます。
    認証関係は一応やりまして、検索の値が返ってきている状態です。
    しかし、ALL Tweetsの検索結果とは違った値が返ってきているので、ただq=hogehogeだけでは不十分なのかと思って質問させていただきました。

    キャンセル

  • 2017/01/05 21:28

    そうでしたか。わざわざ変な回答をしてしまい申し訳ありません。
    リファレンスでは、q以外ではパラメーターがオプションになっているので、問題は無いと思われます。考えられることはツイッター側のインデックスの時間差か、取りこぼしかと思われます。

    キャンセル

  • 2017/01/05 21:32

    再度返信ありがとうございます。
    q=hogehogeの場合だとscreen_nameやhashtagsなども検索対象に入るのでしょうか?

    キャンセル

  • 2017/01/05 21:39

    通常のツイッター検索と置き換えて動く、ので、対象に含まれると思います。
    しかしどうやら公式によると、「必ずしも結果がツイッター検索と同じになるとは限らない(意訳)」とのことです…。

    キャンセル

  • 2017/01/05 21:44

    ご回答ありがとうございます。
    そうなんですね。。
    あと、https://api.twitter.com/1.1/search/tweets.jsonこのTwitter API だと一周間前までのデータしか取ることができないようなのですが、一周間以上前まで取ろうとするとどのようにするば良いのでしょうか?

    キャンセル

  • 2017/01/06 01:30

    一週間しか取れないのは仕様ですので、公式でもおすすめされているストリーミングAPIの方を使うことをおすすめします。

    キャンセル

+1

Twitter が開発者に対して公開している API の範囲では、一週間以内のツイートでさらに限定された範囲からの検索結果しか得ることができません。Twitter の iPhone アプリなどで内部的に使われている API を用いるとこれらの結果が得られますが、今のところこれらは開発者に対しては公開されていません。

この検索の API は /search/universal.json ですが、これを利用するには公式のコンシューマー キーとコンシューマー シークレットの組み合わせが必要になります。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

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

  • ただいまの回答率 90.85%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る

  • Twitter

    577questions

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