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

Reply via email to