golang で Twitter の UserStream を使う 2015-07-28 Go golang から Twitter の UserStream を使おうと思い、公式で紹介されいていてかつ GitHub での人気が高かった anaconda を選んだはいいものの、全然サンプルが転がっていなかったので貼っておきます。まぁソースを見れば普通にできると思いますけど、逆に言うとソースを見ないと全然やり方がわからないです。 package main import ( "fmt" "github.com/ChimeraCoder/anaconda" "github.com/joho/godotenv" "log" "net/url" "os" ) func main() { // .env を読み込む err := godotenv.Load() if err != nil { log.Fatal("Error loading .env file") } anaconda.SetConsumerKey(os.Getenv("TWITTER_CONSUMER_KEY")) anaconda.SetConsumerSecret(os.Getenv("TWITTER_CONSUMER_SECRET")) api := anaconda.NewTwitterApi(os.Getenv("TWITTER_OAUTH_TOKEN"), os.Getenv("TWITTER_OAUTH_TOKEN_SECRET")) api.SetLogger(anaconda.BasicLogger) // logger を設定 v := url.Values{} stream := api.UserStream(v) // 接続 for { // 受信待ち select { case item := <-stream.C: switch status := item.(type) { case anaconda.Tweet: // Tweet を受信 fmt.Printf("%s: %s\n", status.User.ScreenName, status.Text) default: } } } } いやぁ、goroutine と channnel 便利ですねぇ。 Related articles goroutine safe で高速な疑似乱数生成器 2018-07-28 retool で golang の周辺ツールの vendoring 2017-12-18 Atom フィードの更新を Twitter に投稿するステートレスな bot 2016-05-09 golang で cron、setlock を添えて 2015-10-10 Yahoo! Pipes が無くなるので Golang で頑張る 2015-07-20 Go の WaitGroup と Java の Phaser 2024-01-30 Please enable JavaScript to view the comments powered by Disqus.