Hi, I follow the book and create a facebook.py in model folder. but when I called in my controller form = auth() return dict(view=view, form=form)
I will receive this error from facebook { "error": { "message": "Invalid redirect_uri: \u61c9\u7528\u7a0b\u5f0f\u7684\u8a2d\u5b9a\u4e0d\u63a5\u53d7\u9019\u500b\u7db2\u5740\u3002", "type": "OAuthException", "code": 191 } } how do I fix it? lyn2py於 2014年8月8日星期五 UTC+8上午1時37分03秒寫道: > > Hello, > > I have setup the code for FB oauth per web2py book here: > http://web2py.com/books/default/chapter/29/09/access-control > > The code here: > > ## Define oauth application id and secret. > FB_CLIENT_ID='xxx' > FB_CLIENT_SECRET="yyyy" > > ## import required modules > try: > import json > except ImportError: > from gluon.contrib import simplejson as json > from facebook import GraphAPI, GraphAPIError > from gluon.contrib.login_methods.oauth20_account import OAuthAccount > > > ## extend the OAUthAccount class > class FaceBookAccount(OAuthAccount): > """OAuth impl for FaceBook""" > AUTH_URL="https://graph.facebook.com/oauth/authorize" > TOKEN_URL="https://graph.facebook.com/oauth/access_token" > > def __init__(self): > OAuthAccount.__init__(self, None, FB_CLIENT_ID, FB_CLIENT_SECRET, > self.AUTH_URL, self.TOKEN_URL, > scope='email,user_about_me,user_activities, > user_birthday, user_education_history, user_groups, user_hometown, > user_interests, user_likes, user_location, user_relationships, > user_relationship_details, user_religion_politics, user_subscriptions, > user_work_history, user_photos, user_status, user_videos, publish_actions, > friends_hometown, friends_location,friends_photos', > state="auth_provider=facebook", > display='popup') > self.graph = None > > def get_user(self): > '''Returns the user using the Graph API. > ''' > if not self.accessToken(): > return None > > if not self.graph: > self.graph = GraphAPI((self.accessToken())) > > user = None > try: > user = self.graph.get_object("me") > except GraphAPIError, e: > session.token = None > self.graph = None > > if user: > if not user.has_key('username'): > username = user['id'] > else: > username = user['username'] > > if not user.has_key('email'): > email = '%s.fakemail' %(user['id']) > else: > email = user['email'] > > return dict(first_name = user['first_name'], > last_name = user['last_name'], > username = username, > email = '%s' %(email) ) > > ## use the above class to build a new login form > auth.settings.login_form=FaceBookAccount() > > > > And I have tried logging in, the page displays and asks for my > permissions, which is all good. > > But then, it doesn't appear that I have logged in, in my app. I keep > returning to the login page like I have not logged in. > And I checked the database, no new auth_user entries have been created > there either… > > May I know if I had missed a step or did something incorrectly? > > I appreciate any help or guidance. Thank you. > -- Resources: - http://web2py.com - http://web2py.com/book (Documentation) - http://github.com/web2py/web2py (Source code) - https://code.google.com/p/web2py/issues/list (Report Issues) --- You received this message because you are subscribed to the Google Groups "web2py-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to web2py+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.