[vevo] Fix extraction (config.token.key)
authorgritstub <gritstub@users.noreply.github.com>
Thu, 27 Apr 2017 18:00:02 +0000 (11:00 -0700)
committerSergey M <dstftw@gmail.com>
Sun, 30 Apr 2017 10:56:10 +0000 (17:56 +0700)
youtube_dl/extractor/vevo.py

index 9aa38bc5a725068125098e6c76c2d6bdaa6b7e00..9434cd585aa9c900c19a572e8c410f581443776c 100644 (file)
@@ -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: