Tôi đang cố gắng triển khai OAuth2.0 cho ứng dụng của mình và tôi gặp sự cố mà hiện tại tôi không thể khắc phục được.Không tìm thấy proxy api nào cho dịch vụ "memcache" trong điệu nhảy OAuth2.0
Lỗi này là:
Traceback:
File "/home/i159/Envs/photorulez/lib/python2.6/site- packages/django/core/handlers/base.py" in get_response
111. response = callback(request, *callback_args, **callback_kwargs)
File "/home/i159/workspace/photorulez/photorulez/photoapp/views.py" in get_token
63. saved_token = gdata.gauth.AeLoad(request.GET.get('oauth_token'))
File "/home/i159/Envs/photorulez/lib/python2.6/site-packages/gdata/gauth.py" in ae_load
1289. token_string = gdata.alt.app_engine.get_token(key_name)
File "/home/i159/Envs/photorulez/lib/python2.6/site-packages/gdata/alt/app_engine.py" in get_token
51. token_string = memcache.get(unique_key)
File "/home/i159/Envs/photorulez/lib/python2.6/site- packages/google/appengine/api/memcache/__init__.py" in get
487. self._make_sync_call('memcache', 'Get', request, response)
File "/home/i159/Envs/photorulez/lib/python2.6/site-packages/google/appengine/api/apiproxy_stub_map.py" in MakeSyncCall
94. return stubmap.MakeSyncCall(service, call, request, response)
File "/home/i159/Envs/photorulez/lib/python2.6/site-packages/google/appengine/api/apiproxy_stub_map.py" in MakeSyncCall
301. assert stub, 'No api proxy found for service "%s"' % service
Exception Type: AssertionError at /get_access_token/
Exception Value: No api proxy found for service "memcache"
Mã này là:
CONSUMER_KEY = 'anonymous'
CONSUMER_SECRET = 'anonymous'
SCOPES = ['https://picasaweb.google.com/data/',]
def oauth2_login(request):
client = gdata.docs.client.DocsClient(source='photorulez')
oauth_callback_url = 'http://%s/get_access_token' % '127.0.0.1:8000'
request_token = client.GetOAuthToken(
SCOPES,
oauth_callback_url,
CONSUMER_KEY,
consumer_secret=CONSUMER_SECRET)
request.session['request_token'] = request_token
return HttpResponseRedirect(request_token.generate_authorization_url())
def get_token(request):
client = gdata.docs.client.DocsClient(source='photorulez')
saved_token = gdata.gauth.AeLoad(request.GET.get('oauth_token'))
uri = 'http://127.0.0.1:8000'
request_token = gdata.gauth.AuthorizeRequestToken(
saved_token,
uri)
access_token = client.GetAccessToken(request_token)
client.auth_token = gdata.gauth.OAuthHmacToken(CONSUMER_KEY,
CONSUMER_SECRET,
access_token.token,
access_token.token_secret,
gdata.gauth.ACCESS_TOKEN)
return HttpResponseRedirect('/')
Tôi đã chỉ cần cài đặt google_appengine-1.5.1 Module qua pip, ứng dụng của tôi chạy trên Django dev-server. Tôi có thể làm gì để sửa chữa nó? Tôi có nên chạy nó trên GAE không?
Vì vậy, không có cơ hội sử dụng khung công tác memcache Django? – I159
Có vẻ như tất cả đều diễn ra bên trong mô-đun gauth. Có vẻ như nó sử dụng proxy để sử dụng dịch vụ memcache GAE. – ubiquitousthey