Google drive api 使用谷歌驱动器API的DrEdit Python示例时出现错误500
我尝试将DrEdit的Python版本(在GAE中)放到网上 现在,从drive.google.com使用时,它可以正常工作,但从.appspot.com地址访问它会产生:Google drive api 使用谷歌驱动器API的DrEdit Python示例时出现错误500,google-drive-api,Google Drive Api,我尝试将DrEdit的Python版本(在GAE中)放到网上 现在,从drive.google.com使用时,它可以正常工作,但从.appspot.com地址访问它会产生: Traceback (most recent call last): File "/base/python_runtime/python_lib/versions/1/google/appengine/ext/webapp/_webapp25.py", line 701, in __call__ handler.
Traceback (most recent call last):
File "/base/python_runtime/python_lib/versions/1/google/appengine/ext/webapp/_webapp25.py", line 701, in __call__
handler.get(*groups)
File "/base/data/home/apps/s~driveedit/1.358524704843584683/main.py", line 282, in get
drive_state = DriveState.FromRequest(self.request)
File "/base/data/home/apps/s~driveedit/1.358524704843584683/main.py", line 120, in FromRequest
return DriveState(request.get('state'))
File "/base/data/home/apps/s~driveedit/1.358524704843584683/main.py", line 106, in __init__
state_data = json.loads(state)
File "/base/python_runtime/python_lib/versions/1/simplejson/__init__.py", line 388, in loads
return _default_decoder.decode(s)
File "/base/python_runtime/python_lib/versions/1/simplejson/decoder.py", line 402, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/base/python_runtime/python_lib/versions/1/simplejson/decoder.py", line 420, in raw_decode
raise JSONDecodeError("No JSON object could be decoded", s, idx)
JSONDecodeError: No JSON object could be decoded: line 1 column 0 (char 0)
当我在FromRequest函数中添加“print request.get('state')”时,我得到:
Status: 500 Internal Server Error Content-Type: text/html; charset=utf-8 Cache-Control: no-cache Set-Cookie: userid=MTE2MDU1NTY3NjYxNTUzNzA2MTg2|1335608904|67eb86b0a74414014c05c4085832522f16f322f1; expires=Mon, 28 May 2012 10:28:24 GMT; Path=/ Expires: Fri, 01 Jan 1990 00:00:00 GMT Content-Length: 1206
要解决此问题,我可以看什么?您应该修改DriveState以处理此问题,如下所示:
class DriveState(object):
"""Store state provided by Drive."""
def __init__(self, state):
"""Create a new instance of drive state.
Parse and load the JSON state parameter.
Args:
state: State query parameter as a string.
"""
if state:
state_data = json.loads(state)
self.action = state_data['action']
self.ids = map(str, state_data.get('ids', []))
else:
self.action = 'create'
self.ids = []
我将更新示例代码以反映这一点
编辑:在中更新