argos/readConfigTokensAndConnect.go
readConfigTokensAndConnect.goRaw
1package main
2
3import (
4 "encoding/json"
5 "fmt"
6 "io/ioutil"
7
8 "github.com/dghubble/go-twitter/twitter"
9 "github.com/dghubble/oauth1"
10)
11
12type Config struct {
13 Consumer_key string `json:"consumer_key"`
14 Consumer_secret string `json:"consumer_secret"`
15 Access_token_key string `json:"access_token_key"`
16 Access_token_secret string `json:"access_token_secret"`
17}
18
19func readConfigTokensAndConnect() (client *twitter.Client) {
20 var config Config
21 file, e := ioutil.ReadFile("twitterConfig.json")
22 if e != nil {
23 fmt.Println("error:", e)
24 }
25 content := string(file)
26 json.Unmarshal([]byte(content), &config)
27 fmt.Println("twitterConfig.json read comlete")
28
29 fmt.Print("connecting to twitter api --> ")
30 configu := oauth1.NewConfig(config.Consumer_key, config.Consumer_secret)
31 token := oauth1.NewToken(config.Access_token_key, config.Access_token_secret)
32 httpClient := configu.Client(oauth1.NoContext, token)
33 // twitter client
34 client = twitter.NewClient(httpClient)
35
36 fmt.Println("connection successfull")
37
38 return client
39}