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 >> >> >> > >> > >> > >

