Make IsLoggedIn more active and correct

This commit is contained in:
Alexander Sheiko 2023-05-08 13:13:08 +03:00
parent ed0a19c7de
commit deb946cf22

36
auth.go
View file

@ -13,14 +13,23 @@ const (
bearerToken2 = "AAAAAAAAAAAAAAAAAAAAANRILgAAAAAAnNwIzUejRCOuH5E6I8xnZz4puTs%3D1Zv7ttfk8LF81IUq16cHjhLTvJu4FA33AGWWjCpTnA" bearerToken2 = "AAAAAAAAAAAAAAAAAAAAANRILgAAAAAAnNwIzUejRCOuH5E6I8xnZz4puTs%3D1Zv7ttfk8LF81IUq16cHjhLTvJu4FA33AGWWjCpTnA"
) )
type flow struct { type (
Errors []struct { flow struct {
Code int `json:"code"` Errors []struct {
Message string `json:"message"` Code int `json:"code"`
} `json:"errors"` Message string `json:"message"`
FlowToken string `json:"flow_token"` } `json:"errors"`
Status string `json:"status"` FlowToken string `json:"flow_token"`
} Status string `json:"status"`
}
verifyCredentials struct {
Errors []struct {
Code int `json:"code"`
Message string `json:"message"`
} `json:"errors"`
}
)
func (s *Scraper) getFlowToken(data map[string]interface{}) (string, error) { func (s *Scraper) getFlowToken(data map[string]interface{}) (string, error) {
headers := http.Header{ headers := http.Header{
@ -64,6 +73,17 @@ func (s *Scraper) getFlowToken(data map[string]interface{}) (string, error) {
// IsLoggedIn check if scraper logged in // IsLoggedIn check if scraper logged in
func (s *Scraper) IsLoggedIn() bool { func (s *Scraper) IsLoggedIn() bool {
req, err := http.NewRequest("GET", "https://api.twitter.com/1.1/account/verify_credentials.json", nil)
if err != nil {
return false
}
var verify verifyCredentials
err = s.RequestAPI(req, &verify)
if err != nil || verify.Errors != nil {
s.isLogged = false
} else {
s.isLogged = true
}
return s.isLogged return s.isLogged
} }