urllib2.HTTPError:HTTP错误404:未找到

时间:2016-01-01 21:32:35

标签: python google-app-engine

使用树莓派运行我的python脚本时

我的错误消息

Traceback (most recent call last):>Traceback (most recent call last):
  File "test.py", line 6, in (module)
    import appengineauth
  File "/home/pi/Downloads/google_appengine/appengineauth.py", line 30, in (module)
    auth_resp = urllib2.urlopen(auth_req)
  File "/usr/lib/python2.7/urllib2.py", line 154, in urlopen
    return opener.open(url, data, timeout)
  File "/usr/lib/python2.7/urllib2.py", line 437, in open
    response = meth(req, response)
  File "/usr/lib/python2.7/urllib2.py", line 550, in http_response
    'http', request, response, code, msg, hdrs)
  File "/usr/lib/python2.7/urllib2.py", line 475, in error
    return self._call_chain(*args)
  File "/usr/lib/python2.7/urllib2.py", line 409, in _call_chain
    result = func(*args)
  File "/usr/lib/python2.7/urllib2.py", line 558, in http_error_default
    raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
urllib2.HTTPError: HTTP Error 404: Not Found

我可以访问该网站。不太确定实际问题是什么。

1 个答案:

答案 0 :(得分:1)

如果您正在使用https://github.com/adafruit/Tweet-a-Watt/blob/master/appengineauth.py(您不会告诉我们您从哪里获取appengineauth.py,从而迫使我们猜测)及其行

auth_uri = 'https://www.google.com/accounts/ClientLogin'

然后您可能会遇到https://developers.google.com/identity/protocols/AuthForInstalledApps中记录的弃用,我引用:

  

重要提示:自2012年4月20日起,ClientLogin已正式弃用,现已不再提供。对ClientLogin的请求将因HTTP 404响应而失败。我们建议您尽快迁移到OAuth 2.0。

即,您收到的404将完全是警告告诉您的症状,现在ClientLogin已被删除,超过原始弃用警告后的3。5年。

不确定如何最好地将您的Raspberry Pi连接到App Engine(或任何其他需要身份验证的Google服务)与OAuth 2.0(因为ClientLogin不再是一个选项)。 http://guy.carpenter.id.au/gaugette/2012/11/06/using-google-oauth2-for-devices/(在弃用之后不久编写,但巧妙地避免依赖已经弃用的ClientLogin服务)建议使用" OAuth2 for Devices"库并总结了如何使用它;我自己还没有尝试过这个图书馆(而且我没有尝试使用Raspberry Pi)但是这对你来说似乎是一个潜在的富有成效的途径。