2014-04-14 50 views
2

如前所述here,使用Python用戶默認身份驗證API的對象將基於用戶的電子郵件被退回。當在對象上調用user_id()時,會返回唯一的ID,當然這不是Google+用戶ID。有沒有一種方法來映射GAE用戶對象和Google+用戶ID


import webapp2 
from google.appengine.api import users 

class MainPage(webapp2.RequestHandler): 
     def get(self): 
      user = users.get_current_user() 
      if user: 
       if users.is_current_user_admin(): 
        utype = "Admin" 
       else: 
        utype = "Normal" 
       self.response.headers['Content-Type'] = 'text/html' 
       self.response.out.write('Hello, ' + user.nickname() + ' Userid: ' + user.user_id() + ' User Type: ' + utype) 
      else: 
       self.redirect(users.create_login_url(self.request.uri)) 

app = webapp2.WSGIApplication([ 
           ('/', MainPage) 
          ], debug=False)

基本上,我需要加號來檢索一些用戶的詳細信息。 (通過HTTP GET

在AppEngine API中是否有可用的包,可以爲我提供登錄用戶的電子郵件的谷歌加ID?

或者我應該繼續前進到OAuth 2認證目的是什麼?

我已經完成了基於API的用戶的50%,所以對於同任何幫助,將不勝感激。

回答

0

是的,用他們的user.email()

訪問他們的Google+個人資料的屬性,你需要使用谷歌API客戶端庫的Python https://developers.google.com/api-client-library/python/start/installation

+0

感謝@lanGSY。從你的鏈接中找到一條出路:)目前我使用** google-api-python-client-samples-1.2 **中的appengine示例中顯示的方式。 – Tanay

+0

我通常做到這一點,除了使用谷歌API客戶端庫作爲@IanGSY提到的方式,就是要創造我自己的用戶模型,存儲有相關的Google+編號,電子郵件地址和其他個人資料數據。然後,您可以通過ID或電子郵件地址查詢您的數據存儲並獲取所有信息。另外,我相信您必須使用OAuth2(或Google+登錄)才能使用G +客戶端庫。 –

+0

是的,我不得不。就像你說的那樣,製作了一個自定義模型並保持方法名稱相同以避免xtra開銷:D – Tanay

相關問題