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

Reply via email to