• ベストアンサー

TwitterのURLからツイート内容を取得

Twitterのツイート内容取得方法について、質問させてください。 現在、Twitter APIを使用して、PHPにてプログラムを組んでいます。 Twitterのツイート内容を、URLから取得させたいと思っているのですが、 Twitter APIでそういったことをするのは可能でしょうか? 「Twitter API ツイート内容を取得 URL」というキーワードで検索してみましたが、 今のところ取得方法が見つかっていません。 どうすればURLからツイート内容が取得できるのか、 そもそもそんなことは出来ないのか、ご存知の方がいらっしゃいましたら 教えていただければと思います。

質問者が選んだベストアンサー

  • ベストアンサー
noname#244856
noname#244856
回答No.6

他社の回答を批判するのは筋ではないですが、ちょっとこれは酷過ぎませんかね…(汗)Picosoftさんの回答の方法はAPI1.0までは有効でしたが、残念ながらAPI1.1ではすべてのエンドポイントにOAuth認証が必要となってしまったので、そのままではエラーしか返されません。結局のところライブラリに頼るのが一番楽です。どのライブラリを使うかはその人の趣向によって変わってきますが、ここでは私が自作したライブラリを使用します。1ファイル単体設置するだけで使えるようになるのでお手軽です。 まずは下記URLにてコンシューマーキー・コンシューマーシークレットを取得し、自分用のアクセストークン・アクセストークンシークレットを確認してください。 Twitter Developers https://dev.twitter.com/ 次に以下からUltimateOAuth.phpをダウンロードしてください。細かい使い方はREAEMEに書いてあるので必要であればお読みください。 UltimateOAuth https://github.com/Certainist/UltimateOAuth 同じディレクトリに下記ファイルを設置して実行します。 <?php require_once 'UltimateOAuth.php'; $ck = 'コンシューマーキー'; $cs = 'コンシューマーシークレット'; $at = 'アクセストークン'; $as = 'アクセストークンシークレット'; $id = 'URL末尾のステータスID'; $uo = new UltimateOAuth($ck, $cs, $at, $as); $status = $uo->get('statuses/show', array('id' => $id)); if (isset($status->errors)) { die($status->errors[0]->message); } echo $status->text; なお、取得できるツイートのテキストに関して…「<」と「>」は「&lt;」「&gt;」にエスケープされていますが、「&」だけはそのままであるというゴミ仕様なので、ここをHTMLの仕様に厳格に従うようにしたいならば echo preg_replace('/&(?!lt;)(?!gt;)/', '&amp;', $status->text); とする必要があります。

yukie1101
質問者

お礼

まさに私が求めていた回答でした! ありがとうございました。 ライブラリも使用させていただきました、ありがとうございます。

その他の回答 (5)

  • Picosoft
  • ベストアンサー率70% (274/391)
回答No.5

ここで言う「URL」とは、  https://twitter.com/oshiete_goo/statuses/419952171850149888 みたいなURL(パーマリンク)のことでしょうか? 実際に試したわけではないので間違っているかもしれませんが、  GET statuses/show/:id (idにはURLの末尾にある数字を使用)  例:https://api.twitter.com/1.1/statuses/show.json?id=419952171850149888 で取得できそうな気がします。

参考URL:
https://dev.twitter.com/docs/api/1.1/get/statuses/show/%3Aid
回答No.4

無理です。 諦めて下さい。

  • cocco777
  • ベストアンサー率8% (3/34)
回答No.3

対象アカウントがフォロワーでないと無理です 諦めて下さい。

回答No.2

出来ませんよ 諦めてください

  • mzknjh
  • ベストアンサー率2% (2/78)
回答No.1

多分あなたが見たいアカウントがフォロワーでなければ見れないようにしてますので無理ですね

関連するQ&A

専門家に質問してみよう