teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

2

ソースコードを追記しました。

2017/12/25 00:47

投稿

yamady
yamady

スコア176

title CHANGED
File without changes
body CHANGED
@@ -40,6 +40,45 @@
40
40
  end
41
41
  ```
42
42
 
43
+ ## ソースコード(12月25日追記)
44
+
45
+ RESTでホームのタイムラインを取得しつつ、STREAMINGで取ってくる作戦をやってみたのですが、どうも動きません・・・汗
46
+
47
+ ```
48
+ require 'twitter'
49
+
50
+ @client = Twitter::Streaming::Client.new do |config|
51
+ config.consumer_key = "XXXXXXXXXXXX"
52
+ config.consumer_secret = "XXXXXXXXXXXX"
53
+ config.access_token = "XXXXXXXXXXXX"
54
+ config.access_token_secret = "XXXXXXXXXXXX"
55
+ end
56
+
57
+ @client_rest = Twitter::REST::Client.new do |config|
58
+ config.consumer_key = "XXXXXXXXXXXX"
59
+ config.consumer_secret = "XXXXXXXXXXXX"
60
+ config.access_token = "XXXXXXXXXXXX"
61
+ config.access_token_secret = "XXXXXXXXXXXX"
62
+ end
63
+
64
+ keywords = ["キーワード"]
65
+ users = ["アカウント名"]
66
+
67
+ @client_rest.home_timeline do
68
+ @client.filter(track: keywords.join(",")) do |object|
69
+
70
+ if object.is_a?(Twitter::Tweet)
71
+ printf "%s / %s\n %s\n\n",
72
+ object.user.screen_name,
73
+ object.user.name,
74
+ object.text.gsub("\n", "\n ")
75
+ end
76
+ end
77
+ end
78
+ ```
79
+ ターミナル上では動いている気配がありません。。
80
+
81
+
43
82
  アカウント名のホームタイムラインにフィルタリングしたいのですが、できずに困っています。。汗
44
83
 
45
84
  ## 参考にしたリンク

1

エラー内容の変更

2017/12/25 00:47

投稿

yamady
yamady

スコア176

title CHANGED
File without changes
body CHANGED
@@ -8,14 +8,14 @@
8
8
 
9
9
  ### エラー
10
10
  ```Ruby
11
- search.rb:16:in `<main>': undefined local variable or method `client' for main:Object (NameError)
11
+ `on_headers_complete': Twitter::Error::NotAcceptable
12
12
  ```
13
13
 
14
14
  ### ソースコード
15
15
  ```Ruby
16
16
  require 'twitter'
17
17
 
18
- @client = Twitter::REST::Client.new do |config|
18
+ @client = Twitter::Streaming::Client.new do |config|
19
19
  config.consumer_key = "XXXXXXXXXXXX"
20
20
  config.consumer_secret = "XXXXXXXXXXXX"
21
21
  config.access_token = "XXXXXXXXXXXX"
@@ -25,10 +25,11 @@
25
25
  keywords = "日本, 東京, Japan, Tokyo"
26
26
  options = {
27
27
  :lang => 'en',
28
- :track => keywords
28
+ :track => keywords,
29
+ :follow => 'アカウント名'
29
30
  }
30
31
 
31
- client.filter(options).each do |object|
32
+ @client.filter(options) do |object|
32
33
 
33
34
  if object.is_a?(Twitter::Tweet)
34
35
  printf "%s / %s\n %s\n\n",
@@ -39,6 +40,8 @@
39
40
  end
40
41
  ```
41
42
 
43
+ アカウント名のホームタイムラインにフィルタリングしたいのですが、できずに困っています。。汗
44
+
42
45
  ## 参考にしたリンク
43
46
  ・[kzfm’s trial and error](http://kzfm-s.hateblo.jp/entry/2015/06/09/001723)
44
47
  ・[Standard Search API Twitter](https://developer.twitter.com/en/docs/tweets/search/api-reference/get-search-tweets)