我正在使用Flask-OAuthlib,它在我的本地开发环境中运行良好,但是一旦我将代码部署到实时GAE环境,我就会收到以下错误:
File "/base/data/home/apps/s~xxxx/test-20141215.381476653039842303/lib/oauthlib/common.py", line 129, in urldecode
raise ValueError(error % (set(query) - urlencoded, query))
ValueError: Error trying to decode a non urlencoded string. Found invalid characters: set([u'!']) in the string:
使用相同的密码,包括!角色在本地工作正常,我不明白部署应用程序时的问题。
我在本地使用Python 2.7.6。
对于我使用的网址请求:
uri = add_params_to_uri(url, params)
是oauthlib.common的一部分
答案 0 :(得分:0)
此特定问题的一个解决方案是编辑oauthlib / common.py第110行:
变化:
urlencoded = set(always_safe) | set('=&;%+~,*@')
要:
urlencoded = set(always_safe) | set('=&;%+~,*@!')
然后! GAE现场环境也接受角色。