package main
|
|
|
|
import (
|
|
"encoding/json"
|
|
"fmt"
|
|
"io/ioutil"
|
|
|
|
"github.com/dghubble/go-twitter/twitter"
|
|
"github.com/dghubble/oauth1"
|
|
)
|
|
|
|
//TwitterConfig stores the data from json twitterConfig.json file
|
|
type TwitterConfig struct {
|
|
ScreenName string `json:"screenName"`
|
|
ConsumerKey string `json:"consumer_key"`
|
|
ConsumerSecret string `json:"consumer_secret"`
|
|
AccessToken string `json:"access_token"`
|
|
AccessTokenSecret string `json:"access_token_secret"`
|
|
}
|
|
|
|
var twitterConfig TwitterConfig
|
|
|
|
func readTwitterConfigTokensAndConnect() (client *twitter.Client) {
|
|
|
|
file, e := ioutil.ReadFile("twitterConfig.json")
|
|
if e != nil {
|
|
fmt.Println("error:", e)
|
|
}
|
|
content := string(file)
|
|
json.Unmarshal([]byte(content), &twitterConfig)
|
|
fmt.Println("twitterConfig.json read comlete")
|
|
|
|
fmt.Print("connecting to twitter api --> ")
|
|
configu := oauth1.NewConfig(twitterConfig.ConsumerKey, twitterConfig.ConsumerSecret)
|
|
token := oauth1.NewToken(twitterConfig.AccessToken, twitterConfig.AccessTokenSecret)
|
|
httpClient := configu.Client(oauth1.NoContext, token)
|
|
// twitter client
|
|
client = twitter.NewClient(httpClient)
|
|
|
|
fmt.Println("connection successful")
|
|
|
|
return client
|
|
}
|