HTTP 401 Ошибка при попытке прочитать данные из конечной точки Vimeo oEmbed - PullRequest
2 голосов
/ 13 марта 2012

Для встраивания видео, предоставленных Vimeo / Youtube / Dailymotion. Я «собираю» данные, используя стандарт oEmbed.Это прекрасно работает для Youtube, Dailymotion и Soundcloud, но не с Vimeo.Должен ли я пройти аутентификацию для получения этих данных?

Вот как мне удается заставить их работать.

url = "http://vimeo.com/api/oembed.json?%s" % 
                                      urllib.urlencode({"url": url})
headers = {'User-Agent':  'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)'}
req = urllib2.Request(url, "", headers)
obj = simplejson.loads(urllib2.urlopen(req).read())

И в качестве ошибки я получаю Ошибка HTTP 401: неавторизовано

Traceback:

File "/path/to/module/models.py" in save
  87.             obj = simplejson.loads(urllib2.urlopen(req).read())
File "/usr/lib/python2.7/urllib2.py" in urlopen
  126.     return _opener.open(url, data, timeout)
File "/usr/lib/python2.7/urllib2.py" in open
  397.             response = meth(req, response)
File "/usr/lib/python2.7/urllib2.py" in http_response
  510.                 'http', request, response, code, msg, hdrs)
File "/usr/lib/python2.7/urllib2.py" in error
  435.             return self._call_chain(*args)
File "/usr/lib/python2.7/urllib2.py" in _call_chain
  369.             result = func(*args)
File "/usr/lib/python2.7/urllib2.py" in http_error_default
  518.         raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)

Есть идеи у кого-нибудь?

...