Browse Source

[twitter:card] Generalize base API URL

master
Sergey M․ 6 years ago
parent
commit
77053237c5
No known key found for this signature in database GPG Key ID: 2C393E0F18A9236D
1 changed files with 5 additions and 3 deletions
  1. 8
      youtube_dl/extractor/twitter.py

8
youtube_dl/extractor/twitter.py

@ -108,6 +108,8 @@ class TwitterCardIE(TwitterBaseIE):
}, },
] ]
_API_BASE = 'https://api.twitter.com/1.1'
def _parse_media_info(self, media_info, video_id): def _parse_media_info(self, media_info, video_id):
formats = [] formats = []
for media_variant in media_info.get('variants', []): for media_variant in media_info.get('variants', []):
@ -149,7 +151,7 @@ class TwitterCardIE(TwitterBaseIE):
main_script, 'bearer token') main_script, 'bearer token')
# https://developer.twitter.com/en/docs/tweets/post-and-engage/api-reference/get-statuses-show-id # https://developer.twitter.com/en/docs/tweets/post-and-engage/api-reference/get-statuses-show-id
api_data = self._download_json( api_data = self._download_json(
'https://api.twitter.com/1.1/statuses/show/%s.json' % video_id,
'%s/statuses/show/%s.json' % (self._API_BASE, video_id),
video_id, 'Downloading API data', video_id, 'Downloading API data',
headers={ headers={
'Authorization': 'Bearer ' + bearer_token, 'Authorization': 'Bearer ' + bearer_token,
@ -237,13 +239,13 @@ class TwitterCardIE(TwitterBaseIE):
if ct0: if ct0:
headers['csrf_token'] = ct0.value headers['csrf_token'] = ct0.value
guest_token = self._download_json( guest_token = self._download_json(
'https://api.twitter.com/1.1/guest/activate.json', video_id,
'%s/guest/activate.json' % self._API_BASE, video_id,
'Downloading guest token', data=b'', 'Downloading guest token', data=b'',
headers=headers)['guest_token'] headers=headers)['guest_token']
headers['x-guest-token'] = guest_token headers['x-guest-token'] = guest_token
self._set_cookie('api.twitter.com', 'gt', guest_token) self._set_cookie('api.twitter.com', 'gt', guest_token)
config = self._download_json( config = self._download_json(
'https://api.twitter.com/1.1/videos/tweet/config/%s.json' % video_id,
'%s/videos/tweet/config/%s.json' % (self._API_BASE, video_id),
video_id, headers=headers) video_id, headers=headers)
track = config['track'] track = config['track']
vmap_url = track.get('vmapUrl') vmap_url = track.get('vmapUrl')

Loading…
Cancel
Save