Skip to content

Commit

Permalink
[twitter] use 'https://twitter.com/i/api/' for logged in users
Browse files Browse the repository at this point in the history
Doesn't seem to make a difference from what I can tell,
i.e. downloaded files are the same, but the website does it.
  • Loading branch information
mikf committed Nov 16, 2020
1 parent 42ccae5 commit ddfb4fd
Showing 1 changed file with 5 additions and 2 deletions.
7 changes: 5 additions & 2 deletions gallery_dl/extractor/twitter.py
Original file line number Diff line number Diff line change
Expand Up @@ -501,9 +501,12 @@ def __init__(self, extractor):
cookies.set("ct0", csrf, domain=".twitter.com")

if cookies.get("auth_token", domain=".twitter.com"):
# logged in
self.root = "https://twitter.com/i/api/"
self.headers["x-twitter-auth-type"] = "OAuth2Session"
else:
# guest token
# guest
self.root = "https://api.twitter.com/"
guest_token = self._guest_token()
self.headers["x-guest-token"] = guest_token
cookies.set("gt", guest_token, domain=".twitter.com")
Expand Down Expand Up @@ -597,7 +600,7 @@ def _guest_token(self):
return self._call(endpoint, None, "POST")["guest_token"]

def _call(self, endpoint, params, method="GET"):
url = "https://api.twitter.com/" + endpoint
url = self.root + endpoint
response = self.extractor.request(
url, method=method, params=params, headers=self.headers,
fatal=None)
Expand Down

0 comments on commit ddfb4fd

Please sign in to comment.