diff --git a/youtube_dl/extractor/vevo.py b/youtube_dl/extractor/vevo.py index 9aa38bc5a7..9434cd585a 100644 --- a/youtube_dl/extractor/vevo.py +++ b/youtube_dl/extractor/vevo.py @@ -1,6 +1,7 @@ from __future__ import unicode_literals import re +import json from .common import InfoExtractor from ..compat import ( @@ -154,8 +155,15 @@ class VevoIE(VevoBaseIE): } def _initialize_api(self, video_id): + post_data = json.dumps({ + 'client_id': 'SPupX1tvqFEopQ1YS6SS', + 'grant_type': 'urn:vevo:params:oauth:grant-type:anonymous', + }).encode('utf-8') + headers = { + 'Content-Type': 'application/json', + } req = sanitized_Request( - 'http://www.vevo.com/auth', data=b'') + 'https://accounts.vevo.com/token', post_data, headers) webpage = self._download_webpage( req, None, note='Retrieving oauth token', @@ -166,7 +174,7 @@ class VevoIE(VevoBaseIE): '%s said: This page is currently unavailable in your region' % self.IE_NAME) auth_info = self._parse_json(webpage, video_id) - self._api_url_template = self.http_scheme() + '//apiv2.vevo.com/%s?token=' + auth_info['access_token'] + self._api_url_template = self.http_scheme() + '//apiv2.vevo.com/%s?token=' + auth_info['legacy_token'] def _call_api(self, path, *args, **kwargs): try: