diff --git a/api.go b/api.go index 8fa9e67..6601617 100644 --- a/api.go +++ b/api.go @@ -30,7 +30,7 @@ func (s *Scraper) RequestAPI(req *http.Request, target interface{}) error { } } - req.Header.Set("Authorization", "Bearer "+bearerToken) + req.Header.Set("Authorization", "Bearer "+s.bearerToken) req.Header.Set("X-Guest-Token", s.guestToken) // use cookie @@ -64,7 +64,7 @@ func (s *Scraper) GetGuestToken() error { if err != nil { return err } - req.Header.Set("Authorization", "Bearer "+bearerToken) + req.Header.Set("Authorization", "Bearer "+s.bearerToken) resp, err := s.client.Do(req) if err != nil { diff --git a/scraper.go b/scraper.go index 0db771c..3a216dc 100644 --- a/scraper.go +++ b/scraper.go @@ -15,6 +15,7 @@ import ( // Scraper object type Scraper struct { + bearerToken string client *http.Client delay int64 guestToken string @@ -51,10 +52,16 @@ var defaultScraper *Scraper // New creates a Scraper object func New() *Scraper { return &Scraper{ - client: &http.Client{Timeout: DefaultClientTimeout}, + bearerToken: bearerToken, + client: &http.Client{Timeout: DefaultClientTimeout}, } } +func (s *Scraper) setBearerToken(token string) { + s.bearerToken = token + s.guestToken = "" +} + // IsGuestToken check if guest token not empty func (s *Scraper) IsGuestToken() bool { return s.guestToken != "" diff --git a/trends.go b/trends.go index de6aeb4..a103195 100644 --- a/trends.go +++ b/trends.go @@ -2,6 +2,8 @@ package twitterscraper import "fmt" +var bearerToken2 = "AAAAAAAAAAAAAAAAAAAAANRILgAAAAAAnNwIzUejRCOuH5E6I8xnZz4puTs%3D1Zv7ttfk8LF81IUq16cHjhLTvJu4FA33AGWWjCpTnA" + // GetTrends return list of trends. func (s *Scraper) GetTrends() ([]string, error) { req, err := s.newRequest("GET", "https://twitter.com/i/api/2/guide.json") @@ -17,7 +19,9 @@ func (s *Scraper) GetTrends() ([]string, error) { req.URL.RawQuery = q.Encode() var jsn timeline + s.setBearerToken(bearerToken2) err = s.RequestAPI(req, &jsn) + s.setBearerToken(bearerToken) if err != nil { return nil, err }