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.

Reply via email to