Próbuję zaimplementować OAuth2.0 do mojej aplikacji i mam problem, którego nie mogę teraz naprawić.Nie znaleziono api proxy dla usługi "memcache" w tańcu OAuth2.0
Błąd jest:
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"
Kod jest:
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('/')
właśnie zainstalowana google_appengine-1.5.1 Moduł poprzez pip, moja aplikacja działa na Django dev-serwer. Co mogę zrobić, aby to naprawić? Czy powinienem uruchomić go tylko na GAE?
Więc nie ma szansy na wykorzystanie frameworka memcache Django? – I159
Wygląda na to, że wszystko dzieje się wewnątrz modułu Gautha. Wygląda na to, że używa proxy do korzystania z usługi memcache GAE. – ubiquitousthey