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

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

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

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

Python

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

Q&A

1回答

526閲覧

TwitterのタイムラインでのRT

mer

総合スコア12

Twitter

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

Python

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

0グッド

0クリップ

投稿2019/06/12 15:32

編集2022/01/12 10:55

pythonを利用してフォローしている自分のタイムラインのツイートをRTしたいのですが、うまくいきません。
このコードでRTは成功していますが自身のタイムラインにするにはどうすれば良いでしょうか?

API Reference
こちらを確認すると
API.home_timelineを利用すれば自分のタイムラインは取得可能なようですが
自分のフォローしている人のタイムラインから指定ワードでRTさせるにはどうしたら良いのでしょうか?

search_results = api.searchをAPI.home_timelineにしてみましたが、
invalid syntaxエラーが出てきます。
API.home_timelineの使い方が間違っているからなのだとは思うのですが、
正しく動作させるためにはどうすれば良いのでしょうか。

現在APIキーの取得が困難な状態かと思われますので、Python詳しい方にこちらのAPIキーとアカウントをお伝えして動作確認など行っていただけるという方いらっしゃいましたら非常に助かります。

auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET) auth.set_access_token(ACCESS_TOKEN, ACCESS_SECRET) api = tweepy.API(auth) # ↑↑↑ インスタンス作成 ↑↑↑ search_results = api.search(q="映画", count=100) # ↑↑↑ ここでツイートの検索をしています。 ↑↑↑ for result in search_results: tweet_id = result.id try: api().retweet(tweet_id) except Exception as e: print(e) # ↑↑↑ ここでRTしています ↑↑↑

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

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

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

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

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

quickquip

2019/06/13 00:55

「自分がリツイートしたものがhome_timeline APIで取得したデータに入ってこない」のはなぜか? という質問と思ってよいですか?
mer

2019/06/14 14:32

いえ、RTしたものではなく自分のフォローしている人のタイムラインから指定ワードでRTしたいのですが、そのやり方が分からないといった内容になります。
guest

回答1

0

http://docs.tweepy.org/en/v3.5.0/api.html#API.home_timeline
http://docs.tweepy.org/en/v3.5.0/api.html#API.retweet

自分がフォローしているユーザのみで特定のキーワードを含むツイートを検索してRTしたいなら
search/universalで
q=映画 filter:follows
&tweet_mode=extended

で取得してRTする

search/universalは公式のConsumer Keyでしかリクエスト送れないので、apps.twitter.comで登録しているものは利用できません。そのため、一般的に開放されているエンドポイントではありませんので利用は自己責任で

https://gist.github.com/uhfx/3922268

<?php require './vendor/autoload.php'; use mpyw\Co\Co; use mpyw\Co\CURLException; use mpyw\Cowitter\Client; use mpyw\Cowitter\HttpException; $client = new Client(['IQKbtAYlXLripLGPWd0HUA', 'GgDYlkSvaPxGxC4X8liwpUoqKwwr3lCADbz8A7ADU','OAuthToken','OAuthTokenSecret']); $response = $client->get('https://api.twitter.com/1.1/search/universal.json',[ 'q'=>'filter:follows 映画' ]); foreach ($response->modules as $d){ echo $d->status->data->text. ' by '.$d->status->data->user->screen_name.PHP_EOL; $to->post('statuses/retweet/'.$d->status->data->id_str); sleep(random_int(1,3)); }

投稿2019/06/16 03:11

編集2019/06/19 05:09
39ff

総合スコア284

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

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

mer

2019/06/16 04:41 編集

回答ありがとうございます。 Twitter演算子での検索が行えずTLからの取得にしようと考えていたのですが、コードによってこれらの演算子が使えないようでした。 b2759さんの回答を参考に他コードで試したところちゃんと反映されてくれていました。ありがとうございます。 他の単純なコードにはちゃんと演算子が利用可能だったので何かが悪いのかとは思うのですが、 良かったらこちらに新しく質問をし直したので回答いただけますと非常に助かります。 https://teratail.com/questions/195207
mer

2019/06/19 02:27

別質問で"filter:follows"は使えないと断言する人が現れたのですがどちらが正しいのでしょうか><? その人曰くTwitter演算子は、 「使えるのが不思議な機能」 とのことなのですが、 大変多くの方がAPIでTwitter演算子の利用をしていてもTwitter演算子は使えない、使えるのが不思議な機能なのでしょうか? https://teratail.com/users/quiqui
39ff

2019/06/19 05:08

追記しました。こちらで確認しましたが、現在も使えています。 公式のConsumer Keyを使用しないと使えないため、apps.twitterで登録しているキーでは利用できません
mer

2019/06/26 05:19

とても詳しくありがとうございます。非常に助かります。 こちらはphpのコードでしょうか?Pythonではできないものでしょうか…?
39ff

2019/06/26 07:00

pythonでも出来ます。
退会済みユーザー

退会済みユーザー

2019/06/26 07:08

> 一般的に開放されているエンドポイントではありませんので利用は自己責任で 普通はこういったケースは提示する方の責任も問われますよ。
39ff

2019/06/26 07:22

まあ、そのへんは開発する側の倫理ですかね。今まで責任問われたことないので、責任問われたときはそん時です。嫌なら回答しなけりゃいいわけで
mer

2019/06/26 10:57

Pythonだとどのようにすれば実行可能でしょうか? PythonでもこのPHPのコードが使えたりする感じでしょうか?
退会済みユーザー

退会済みユーザー

2019/06/26 11:37

倫理の話ではなく、リスクの話をしています。 Wizard Bible 事件以降は、ごく一般的なリテラシーを持ったエンジニアは逮捕リスクのある技術情報の提供に非常にセンシティブになっています。 また、twitter 社の規約が管轄裁判所を米国と指定しているため、規約違反行為/非公開キーの利用は相当なリスクです。 どちらも倫理とは関係なく認識することが必要です。
mer

2019/06/27 01:27

b2759さん、URLまでありがとうございます。助かります。 ところで教えていただいたPHPコードの、 OAuthToken,OAuthTokenSecretなんですが、これはなんらかの方法で入手可能なのでしょうか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問