はじめに
Go 1.9.0
mac
ターミナル
数日前にGO
の勉強をはじめました。
練習としてTwitterAPIを利用して、取得したデータを表示させたいと考えています。
まずは、コンソール上に表示させたいと考えました。しかし、エラーはなく正常に動いているはずなんですが、表示されません。コードをみてその原因を教えていただければ幸いです。
そして、コンソールで表示ができたら、localhost:3000
にアクセスしてブラウザに表示させたいと考えています。
実際のコード
TwitterAPIを用いて、golang
と検索した結果を3件表示させたいです。
anaconda
というライブラリを使っています。
またgodotenv
を使って環境変数からAPIキーを読み込ませています。
get.go
go
1package main 2 3import ( 4 "fmt" 5 "log" 6 "net/url" 7 "os" 8 9 "github.com/ChimeraCoder/anaconda" 10 "github.com/joho/godotenv" 11) 12 13func loadEnv() { 14 err := godotenv.Load() 15 if err != nil { 16 log.Fatal("Error loading .env file") 17 } 18} 19 20func getTwitterApi() *anaconda.TwitterApi { 21 anaconda.SetConsumerKey(os.Getenv("CONSUMER_KEY")) 22 anaconda.SetConsumerSecret(os.Getenv("CONSUMER_SECRET")) 23 return anaconda.NewTwitterApi(os.Getenv("ACCESS_TOKEN"), os.Getenv("ACCESS_TOKEN_SECRET")) 24} 25 26func main() { 27 loadEnv() 28 29 api := getTwitterApi() 30 31 v := url.Values{} 32 v.Set("count", "3") 33 34 searchResult, _ := api.GetSearch("golang", v) 35 for _, tweet := range searchResult.Statuses { 36 fmt.Println(tweet.Text) 37 } 38}
起こっている問題
go run get.go
を実行してもターミナルが動いている様子だけわかって、何も表示されないです。
コンパイルしてもエラーは出ません。
何が原因なのかわからない状態です。
質問
①コードに問題がありますか?原因について考えられることを教えていただきたいです。
②最終的に検索結果をブラウザ上に表示させたいです。どのように実装すればよいかロジックを教えていたいです。
最後に
回答宜しくお願いします。
追記(2019/2/5)
エラーを返すようにコードを書き換えたところ下記メッセージが表示されました。
これは、godotenv
をつかって環境変数からAPIキーを読み込ませていました。
returned status 401, {"errors":[{"code":32,"message":"Could not authenticate you."}]}
それから、環境変数から上手く読めていないと考え、APIキーを直接書いたところ、下記メッセージが表示されました。
Twitter Developer のページからAPIキーを取得して、念の為キーの再発行も行なって直接コードに書いたのですが、認証が上手く行っていない様子です。
returned status 400, {"errors":[{"code":215,"message":"Bad Authentication data."}]}
APIキーは元々別のアプリに使おうと思って発行したものです。原因はそれでしょうか?
他に考えられる原因はなにかありますでしょうか?
ご協力お願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/02/05 01:00
2019/02/05 01:51
2019/02/05 10:59
2019/02/05 14:18
2019/02/05 23:35