diff --git a/docs/configuration.rst b/docs/configuration.rst index 8c690dd7..0a2085e9 100644 --- a/docs/configuration.rst +++ b/docs/configuration.rst @@ -3221,13 +3221,12 @@ extractor.twitter.search-endpoint Type ``string`` Default - ``"auto"`` + ``"graphql"`` Description Selects the API endpoint used to retrieve search results. - * ``"rest"``: Legacy REST endpoint - returns a ``403 Forbidden`` error when not logged in - * ``"graphql"``: New GraphQL endpoint - * ``"auto"``: ``"rest"`` when logged in, ``"graphql"`` otherwise + * ``"graphql"``: GraphQL endpoint + * ``"rest"``: Legacy REST endpoint extractor.twitter.timeline.strategy diff --git a/gallery_dl/extractor/twitter.py b/gallery_dl/extractor/twitter.py index 10db9744..b3064cc9 100644 --- a/gallery_dl/extractor/twitter.py +++ b/gallery_dl/extractor/twitter.py @@ -510,13 +510,13 @@ class TwitterTimelineExtractor(TwitterExtractor): if not self.textonly: # try to search for media-only tweets tweet = None - for tweet in self.api.search_adaptive(query + " filter:links"): + for tweet in self.api.search_timeline(query + " filter:links"): yield tweet if tweet is not None: return # yield unfiltered search results - yield from self.api.search_adaptive(query) + yield from self.api.search_timeline(query) def _select_tweet_source(self): strategy = self.config("strategy") @@ -693,7 +693,7 @@ class TwitterSearchExtractor(TwitterExtractor): except KeyError: pass - return self.api.search_adaptive(query) + return self.api.search_timeline(query) class TwitterHashtagExtractor(TwitterExtractor): @@ -1087,8 +1087,8 @@ class TwitterAPI(): auth_token = cookies.get("auth_token", domain=cookiedomain) search = extractor.config("search-endpoint") - if search == "graphql" or not auth_token and search in ("auto", None): - self.search_adaptive = self.search_timeline + if search == "rest": + self.search_timeline = self.search_adaptive self.headers = { "Accept": "*/*",