Yes i am able to do this thanks Anthony for late reply sorry On Fri, Jun 1, 2012 at 5:53 AM, Anthony <[email protected]> wrote:
> Did you enable basic authentication, as described here: > http://web2py.com/books/default/chapter/29/9#Access-Control-and-Basic-Authentication, > and send a valid username and password with your curl or wget request? > > Anthony > > > On Thursday, May 31, 2012 1:52:19 AM UTC-4, Sanjeet Roy wrote: >> >> Anthony i tried the following code it is showing method not allowed when >> i want to access :- >> >> @auth.requires_login() >> @request.restful() >> def get_project(): >> proj=[] >> projid=[] >> for row in db(db.assign.employee==auth.** >> user.email).select(db.assign.**ALL): >> for row1 in db(db.project.id==row.project)** >> .select(db.project.ALL): >> projid.append(row1.id) >> proj.append(row1.name) >> return dict(proj=proj,projid=projid) >> >> On Thu, May 31, 2012 at 10:52 AM, Anthony <[email protected]> wrote: >> >>> Are you saying you want to be able to login via a curl request? For >>> that, you'll probably have to enable basic authentication: >>> http://web2py.**com/books/default/chapter/29/** >>> 9#Access-Control-and-Basic-**Authentication<http://web2py.com/books/default/chapter/29/9#Access-Control-and-Basic-Authentication>. >>> Once logged in, the user record should be available in auth.user. >>> >>> Anthony >>> >>> >>> On Thursday, May 31, 2012 12:36:08 AM UTC-4, Sanjeet Roy wrote: >>>> >>>> Hii Anthony >>>> I am able to POST and insert the data in to the database can you help >>>> me to get the user email who will be authenticated and i will get the data >>>> from the database which are associated with the particular user. >>>> example:- >>>> curl -u [email protected] "http:127.0.0.1:8080/myapp/**api** >>>> /getdata/proj/id/1/acty<http://127.0.0.1:8080/myapp/api/getdata/proj/id/1/acty> >>>> " >>>> >>>> I get the information of the proj by using his id by following code but >>>> how i get the user information who are loged-in. >>>> >>>> @auth.requires_login() >>>> @request.restful() >>>> def getdata(): >>>> def GET(*args,**vars): >>>> patterns = "auto" >>>> parser = db.parse_as_rest(patterns,**args**,vars) >>>> if parser.status == 200: >>>> return dict(content=parser.response) >>>> else: >>>> raise HTTP(parser.status,parser.**erro**r) >>>> return locals() >>>> >>>> >>>> >>>> On Wed, May 30, 2012 at 9:51 AM, Sanjeet Roy >>>> <[email protected]>wrote: >>>> >>>>> Thanks Anthony now i got it and i am able to post the request by using >>>>> the CURL >>>>> >>>>> >>>>> On Wed, May 30, 2012 at 8:23 AM, Anthony <[email protected]> wrote: >>>>> >>>>>> If you want to make a POST >>>>>> request<http://en.wikipedia.org/wiki/POST_%28HTTP%29>, >>>>>> you need some way to send the post data from a client. The client could >>>>>> be >>>>>> a browser, in which case you can send post data by submitting a form or >>>>>> by >>>>>> sending an Ajax POST request. The client could be another server, in >>>>>> which >>>>>> case, you can use something like urllib2.urlopen() in Python ( >>>>>> http://docs.python.org/**librar**y/urllib2.html<http://docs.python.org/library/urllib2.html>) >>>>>> or the Linux curl command-line utility (http://www.yilmazhuseyin.com/ >>>>>> ****blog/dev/curl-tutorial-**example**s-usage/<http://www.yilmazhuseyin.com/blog/dev/curl-tutorial-examples-usage/>). >>>>>> You cannot make a POST request by simply visiting a URL in a browser -- >>>>>> that will only result in a GET request. >>>>>> >>>>>> What exactly are you trying to do? How are you intending to make >>>>>> requests to this API? >>>>>> >>>>>> Anthony >>>>>> >>>>>> >>>>>> On Tuesday, May 29, 2012 10:29:06 PM UTC-4, Sanjeet Roy wrote: >>>>>>> >>>>>>> Hi Anthony actually i didn't get you i want ipost the data something >>>>>>> like that which are given in the following link :- >>>>>>> >>>>>>> http://www.mail-archive.com/**we****[email protected]/**msg70275 >>>>>>> ****.html<http://www.mail-archive.com/[email protected]/msg70275.html> >>>>>>> >>>>>>> http://vimeo.com/21133657 >>>>>>> >>>>>>> http://www.reddit.com/r/**progra****mming/comments/g5hxq/**web2py_** >>>>>>> tr**unk_has_a_new_**restful_api_**that**_writes_db/**c1l2ykg<http://www.reddit.com/r/programming/comments/g5hxq/web2py_trunk_has_a_new_restful_api_that_writes_db/c1l2ykg> >>>>>>> >>>>>>> >>>>>>> On Wed, May 30, 2012 at 1:09 AM, Anthony <[email protected]>wrote: >>>>>>> >>>>>>>> You could submit the post request via a form on the page, with the >>>>>>>> form's action set to the get_person URL, or you could submit via Ajax, >>>>>>>> possibly using jQuery.post() (see http://api.jquery.com/**jQu**** >>>>>>>> ery.post/ <http://api.jquery.com/jQuery.post/>). >>>>>>>> >>>>>>>> Anthony >>>>>>>> >>>>>>>> >>>>>>>> On Tuesday, May 29, 2012 3:01:09 PM UTC-4, Sanjeet Roy wrote: >>>>>>>>> >>>>>>>>> Hii Anthony i have the following in my db:- >>>>>>>>> >>>>>>>>> db.define_table('person',**Field******('name'),Field('** >>>>>>>>> birthdate','**da****te')) >>>>>>>>> db.define_table('dog',Field('**n******ame'),Field('owner',db.** >>>>>>>>> person)******,Field('info','text')) >>>>>>>>> >>>>>>>>> and api.py is my controller :- >>>>>>>>> >>>>>>>>> @request.restful() >>>>>>>>> def get_person(): >>>>>>>>> def GET(id): >>>>>>>>> person = db.person(id) >>>>>>>>> return person.as_dict() if person else None >>>>>>>>> def POST(owner,name,info): >>>>>>>>> return db.dog.validate_and_insert(**own****** >>>>>>>>> er=owner,name=name,info=**info) >>>>>>>>> return locals() >>>>>>>>> >>>>>>>> >>>>>>> How can i post and insert the data in to the table dog which are >>>>>>> given above . >>>>>>> >>>>>>> like that :- >>>>>>> >>>>>>> curl -i -d >>>>>>> "info=aInfo&name=aName&owner=**7****4"http://localhost:8000/**restfu****l/api/manage_dog >>>>>>> <http://localhost:8000/restful/api/manage_dog> >>>>>>> >>>>>>> >>>>>>> which are given in the above link. >>>>>>> >>>>>>> >>>>> >>>> >>

