Hi Albert, does it work now? sorry for my late answer... yes create a file or define those variables in your db.py
2010/9/3 Albert Abril <[email protected]> > Ok, I guess it's a file created by me defining twitter config: CLIENT_ID > CLIENT_SECRET > AUTH_URL > TOKEN_URL > ACCESS_TOKEN_URL > On Fri, Sep 3, 2010 at 9:47 AM, Albert Abril <[email protected]>wrote: > >> Woah! I didn't read this mail yet. So much thank you, it will help me. >> >> By now, I'm trying to get helloTwitter running from a basic web2py install >> on webfaction. >> but I'm getting an error, it couldn't load the "twitter_oauth_data*"* >> >> Traceback (most recent call last): >> File "gluon/restricted.py", line 186, in restricted >> exec ccode in environment >> File >> "/home/aabril/webapps/dcide4me/web2py/applications/helloTwitter/models/db.py"<http://admin/default/edit/helloTwitter/models/db.py>, >> line 72, in <module> >> toa = local_import('twitter_oauth_data') >> File "gluon/compileapp.py", line 243, in <lambda> >> local_import_aux(name,reload,app) >> File "gluon/compileapp.py", line 174, in local_import_aux >> module = __import__(name) >> ImportError: No module named applications.helloTwitter.modules.twitt >> er_oauth_data >> >> >> >> Obviously, I don't have any twitter_oauth_data in my modules folder. >> I checked here, but neither: >> >> https://code.google.com/r/michelecomitini-facebookaccess/source/browse/#hg/applications/helloTwitter/modules >> >> Should I rename this? >> >> thanks in advance. >> >> On Mon, Aug 30, 2010 at 10:00 AM, Michele Comitini < >> [email protected]> wrote: >> >>> Actually if you look on developer.twitter.com, you will find some >>> library that maps the twitter REST api to >>> python methods. But I did not relay on that as it would have added >>> more dependencies. >>> I think that is something that you can use depending the application >>> you are going to develop. >>> >>> Things are simple even without external libraries, look for instance >>> at the get_user method in db.py, how it gets user info: >>> >>> http://code.google.com/r/michelecomitini-facebookaccess/source/browse/applications/helloTwitter/models/db.py#81 >>> >>> def get_user(self): >>> if self.accessToken() is not None: >>> client = oauth.Client(self.consumer, self.accessToken()) >>> resp, content = >>> client.request('http://api.twitter.com/1/account/verify_credentials.json >>> ') >>> if resp['status'] != '200': >>> # cannot get user info. should check status >>> return None >>> u = json.loads(content) >>> return dict(username=u['screen_name'], name=u['name'], >>> registration_id=u['id']) >>> >>> so you build a client, make a request to a REST api url >>> (http://api.twitter.com/1/account/verify_credentials.json) >>> >>> To post a tweet see: http://dev.twitter.com/doc/post/statuses/update >>> >>> in your controller you should write something like this: >>> >>> import oauth2 as oauth >>> . >>> . >>> . >>> @auth.requires_login() >>> def sendtweet(): >>> token = auth.settings.login_form.accessToken() # you can use this >>> also if you prefer: token=session.access_token >>> consumer = oauth.Consumer(CLIENT_ID, CLIENT_SECRET) #<- CLIENT_ID, >>> CLIENT_SECRET are defined in db.py >>> client = oauth.Client(self.consumer, token) >>> # encode the message >>> message = 'My web2py post!" >>> data=urlencode(status=message) >>> #make a post >>> resp, content = >>> client.request('http://api.twitter.com/1/statuses/update.json', >>> "POST", body=data) >>> if resp['status'] != '200': >>> #manage the error >>> return dict(message="Could not send tweet! :-( ") >>> >>> return dict(message="Succesfully sent! :-)") >>> >>> if you call method returning some data I suggest tu use the .json >>> version of it and use >>> simplejson to decode it to a python dictionary (see the get_user() method >>> above) >>> >>> hope that helps... >>> mic >>> >>> 2010/8/30 Albert Abril <[email protected]>: >>> > Just a question: what do you use for post a tweet, read statuses... ? >>> > Thanks in advance. >>> > >>> > On Sun, Aug 29, 2010 at 12:39 PM, Albert Abril <[email protected] >>> > >>> > wrote: >>> >> >>> >> :) Thank you! >>> >> >>> >> On Sun, Aug 29, 2010 at 1:45 AM, Michele Comitini >>> >> <[email protected]> wrote: >>> >>> >>> >>> Hello all, >>> >>> >>> >>> I've uploaded a scaffolding app as example of authentication with >>> >>> twitter oauth. You can find source code here: >>> >>> >>> >>> >>> >>> >>> https://code.google.com/r/michelecomitini-facebookaccess/source/browse/#hg/applications/helloTwitter >>> >>> >>> >>> Or you can clone the repository locally: >>> >>> >>> https://code.google.com/r/michelecomitini-facebookaccess/source/checkout >>> >>> >>> >>> as usual it is also on GAE for testing: >>> >>> http://grafbook.appspot.com/helloTwitter >>> >>> >>> >>> Please enjoy and send feedback. >>> >>> >>> >>> tnx >>> >>> michele >>> >> >>> > >>> > >>> >> >> >

