Hi Kulvinder, Frank

I noticed the header of one of the quoted update requests looks like
this:
  POST /m8/feeds/contacts/syncmycaltestuser%40vidyamandir.com/full/
74ea98f00c03aa3 e HTTP/1.1
  Etag: "QH49cDVSLyt7ImA9WxNXGE0PQwA."
  If-Match: "QH49cDVSLyt7ImA9WxNXGE0PQwA."
  Content-Type: application/atom+xml; charset=UTF-8
  User-Agent: G-Technologies Inc. - Syncmycal/GDataGAuthRequestFactory-
CS-Version=1.5.0.0
  Authorization: GoogleLogin
auth=DQAAAJkAAADTFkrcfCnDqICs4VfGoLqUIPpbv33xaMPD_vk5J7xfZ5Ttv_IEzlhx-
OSh7Q JHTzcq0AQW2IO5zQ3oy3T3dhJb
  GData-Version: 3.0
  Host: www.google.com
  Content-Length: 1838
  Expect: 100-continue
  Connection: Keep-Alive

The important thing here is that the POST method is used. For updates,
the PUT method should be used instead.
This can be achieved either by using the regular HTTP PUT method, or
(if some intervening proxy causes problems)
by using the POST method combined with the "X-HTTP-Method-Override:
PUT" header.

Hope this helps,
-- Lukasz

On Nov 16, 2:59 pm, Frank Mantek <[email protected]> wrote:
> Ok,
>
> i modified the contacts application that you get when you run the contacts 
> app wizard in VS. I added a button on the form. This button does this:
>
>         private void button1_Click(object sender, EventArgs e)
>         {
>             ListViewItem item = this.listView.SelectedItems[0];
>             if (item != null)
>             {
>                 ContactEntry ce = item.Tag as ContactEntry;
>                 if (ce != null)
>                 {
>                     ce.Name.FullName = "The new Full Name";
>                     ce.Name.GivenName = "something else";
>                     this.contactsService.Update(ce);
>                 }
>             }
>         }
>
> So i take the currently selected contact and change the fullname and the 
> givenname (i tried both solo as well) and update. This should match your 
> scenario, correct?
>
> Works great for me. I see nothing wrong in the .NET code, nor do i see 
> anything wrong in what is on the wire (neither for my code, nor what you send 
> me).
>
> Ball is in the court of the contacts service team. I am going to send this 
> around internally, maybe someone will answer.
>
> Frank Mantek
> Google
> On Nov 16, 2009, at 1:44 PM, Kulvinder Singh wrote:
>
>
>
> > Hi Frank,
>
> > Let me explain the scenario again.
>
> > 1. I created a contact in Google.
>
> > 2. Downloaded the contact.
>
> > 3. Updating the Full name of the contact.
>
> > 4. Tried to update the contact but got an exception.
>
> > ContactsQuery query = new ContactsQuery();
> > ContactsService service = new ContactsService("testApp-0.1");
> > service.setUserCredentials("[email protected]", "PASSWORD");
> > query.Uri = new 
> > Uri("http://www.google.com/m8/feeds/contacts/[email protected]/full";);
> > ContactsFeed calFeed = service.Query(query);
> > AtomEntryCollection gcalEvents = calFeed.Entries;
> > ContactEntry ce = gcalEvents[0] as ContactEntry;
> > ce.Name.FullName = "New Contact Name";
> > ce = service.Update(ce) as ContactEntry;
>
> > The XML feed i have already sent to you in an email. Please help me ASAP.
>
> > Thanks
> > Kulvinder Singh
>
> > From: Frank Mantek <[email protected]>
> > To: Google Contacts API <[email protected]>
> > Sent: Mon, November 16, 2009 2:55:45 PM
> > Subject: [Contacts API] Re: Invalid Request URI
>
> > I read through this thread and looked at the XML Kulvinder provided.
> > This does not look to be a .NET client issue.
>
> > a) the error is completely bogus. This is of course NOT an invalid
> > request URI. I can not judge if the etags are correct when send, but i
> > assume so (we do use etags in all kind of services, so it would
> > surprise me if it did not work here, and i do believe the server would
> > return a different error if the etag was wrong).
>
> > b) The update entry looks fine to me at least. If it does not match
> > the minimum requirements, again, the error should indicate this.
>
> > What i am a tad confused about is a sentence indicating that this is
> > an entry that is already deleted? Can you explain.
>
> > Frank Mantek
> > Google
>
> > Sorry for the late reply, but this just got lost somewhere in my
> > inbox....
>
> > On Nov 10, 7:22 am, Kulvinder Singh <[email protected]> wrote:
> > > Hi Julian,
>
> > > My issue is still not fixed. Please help. I am not getting where i am 
> > > doing wrong.
>
> > > Thanks
> > > Kulvinder Singh
>
> > > ________________________________
> > > From: Kulvinder Singh <[email protected]>
> > > To: [email protected]
> > > Sent: Thu, October 29, 2009 9:53:05 AM
> > > Subject: [Contacts API] Re: Invalid Request URI
>
> > > Hi Hulian,
>
> > > I tried for different user as well but still getting the same issue. I 
> > > have emailed you the credentials for one of the user on which i am 
> > > testing. Please check.
>
> > > Thanks
> > > Kulvinder Singh
>
> > > ________________________________
> > > From: Julian (Google) <[email protected]>
> > > To: Google Contacts API <[email protected]>
> > > Sent: Wed, October 28, 2009 1:42:34 PM
> > > Subject: [Contacts API] Re: Invalid Request URI
>
> > > I was able to run your code after downloading the latest version from
> > > the SVN:
>
> > > ContactsQuery query = new ContactsQuery();
> > > ContactsService service = new ContactsService("testApp-0.1");
> > > service.setUserCredentials("[email protected]", "PASSWORD");
> > > query.Uri = new Uri("http://www.google.com/m8/feeds/contacts/
> > > [email protected]/full");
>
> > > ContactsFeed calFeed = service.Query(query);
> > > AtomEntryCollection gcalEvents = calFeed.Entries;
> > > ContactEntry ce = gcalEvents[0] as ContactEntry;
> > > ce.Name.FullName = "New Contact Name";
> > > ce = service.Update(ce) as ContactEntry;
>
> > > Can you try with a different user? Maybe the problem is specific to
> > > one user, please let me know the user to investigate further if the
> > > problem persists.
>
> > > Cheers,
> > > Julian
>
> > > On Oct 23, 12:29 pm, Kulvinder Singh <[email protected]> wrote:
>
> > > > Julian,
>
> > > > Can you please reply to this ?
>
> > > > Thanks
> > > > Kulvinder Singh
>
> > > > ________________________________
> > > > From: Kulvinder Singh <[email protected]>
> > > > To: [email protected]
> > > > Sent: Tue, October 20, 2009 4:24:44 PM
> > > > Subject: [Contacts API] Re: Invalid Request URI
>
> > > > I have created a simplest code to prove this and getting the error :
>
> > > >                 ContactsQuery query = new ContactsQuery();
> > > >                 ContactsService service = new 
> > > > ContactsService("testApp-0.1");
>
> > > >                 service.setUserCredentials("[email protected]", 
> > > > "password");
>
> > > >                 query.Uri = new 
> > > > Uri("http://www.google.com/m8/feeds/contacts/[email protected]/full";);
>
> > > >                 ContactsFeed calFeed = service.Query(query);
> > > >                 AtomEntryCollection gcalEvents = calFeed.Entries;
>
> > > >                 ContactEntry ce = gcalEvents[0] as ContactEntry;
>
> > > >                 ce.Name.FullName = "New Name";
>
> > > >                 ce = service.Update(ce) as ContactEntry;
>
> > > > ________________________________
> > > > From: Kulvinder Singh <[email protected]>
> > > > To: [email protected]
> > > > Sent: Tue, October 20, 2009 4:10:16 PM
> > > > Subject: [Contacts API] Re: Invalid Request URI
>
> > > > Also, the same code was working fine before i was using Contacts API 1.0
>
> > > > ________________________________
> > > > From: Kulvinder Singh <[email protected]>
> > > > To: [email protected]
> > > > Sent: Tue, October 20, 2009 2:22:22 PM
> > > > Subject: [Contacts API] Re: Invalid Request URI
>
> > > > I am updating a contact using the following code :
>
> > > > ContactService contactService = new ContactService("ApplicationName");
> > > > contactService.Credentials = new GDataCredentials(userName, password);
> > > > Uri postUri = new Uri(ContactsQuery.CreateContactsUri(userName));
>
> > > > contactService.Update(gContactEvent);
>
> > > > WHAT IS GOING WRONG ?
>
> > > > ________________________________
> > > > From: Kulvinder Singh <[email protected]>
> > > > To: [email protected]
> > > > Sent: Tue, October 20, 2009 1:37:41 PM
> > > > Subject: [Contacts API] Re: Invalid Request URI
>
> > > > Even adding a new contact and updating it again is throwing this error. 
> > > > Please see the XML feed below.
>
> > > > ________________________________
> > > > From: Kulvinder Singh <[email protected]>
> > > > To: [email protected]
> > > > Sent: Tue, October 20, 2009 1:27:39 PM
> > > > Subject: [Contacts API] Re: Invalid Request URI
>
> > > > I have debugged the issue. Actually, there is a contact in my account 
> > > > which i have deleted but still i am getting it in the feed and my 
> > > > program is trying to delete that contact since it is available and i am 
> > > > getting this error. Please tell me how to overcome this.
>
> > > > ________________________________
> > > > From: Kulvinder Singh <[email protected]>
> > > > To: [email protected]
> > > > Sent: Tue, October 6, 2009 2:34:03 PM
> > > > Subject: [Contacts API] Re: Invalid Request URI
>
> > > > Also, the same code was working fine before i was using COntacts API 1.0
>
> > > > ________________________________
> > > > From: Kulvinder Singh <[email protected]>
> > > > To: [email protected]
> > > > Sent: Tuesday, October 6, 2009 2:14:44 PM
> > > > Subject: [Contacts API] Re: Invalid Request URI
>
> > > > I simply downloaded the contact, made some modifications in its data 
> > > > and used :
>
> > > > contactService.Update(gContactEvent);
>
> > > > which threw the error. For your reference, i am also writing here the 
> > > > XML feed which i got when i downloaded the contact, feed which i posted 
> > > > for editing and feed which i got back :
>
> > > > 1. When contacts retreived :
>
> > > > Request :
>
> > > > GET /m8/feeds/contacts/testuser%40a.com/full?max-results=20000 HTTP/1.1
> > > > Content-Type: application/atom+xml; charset=UTF-8
> > > > User-Agent: G-Technologies 
> > > > Inc./GDataGAuthRequestFactory-CS-Version=1.5.0.0
> > > > Authorization: GoogleLogin 
> > > > auth=DQAAAJoAAABGaRrbsqiOMPeEv99CwMb1boWMQnsRRx5XAftSlr2SN9fBRoymsC3OzXOAwY
> > > >  XfHd_AqV37Zd8TH3031cnNnu1k
> > > > GData-Version: 3.0
> > > > Host:www.google.com
>
> > > > Response :
>
> > > > HTTP/1.0 200 OK
> > > > Content-Type: application/atom+xml; charset=UTF-8; type=feed
> > > > Expires: Tue, 06 Oct 2009 07:43:45 GMT
> > > > Date: Tue, 06 Oct 2009 07:43:45 GMT
> > > > Cache-Control: private, max-age=0, must-revalidate, no-transform
> > > > Vary: Accept, X-GData-Authorization, GData-Version
> > > > GData-Version: 3.0
> > > > ETag: W/"D0cGRHs8fSt7I."
> > > > Last-Modified: Tue, 06 Oct 2009 07:43:45 GMT
> > > > X-Content-Type-Options: nosniff
> > > > X-XSS-Protection: 0
> > > > Server: GFE/2.0
>
> > > >http://www.w3.org/2005/Atom.";'>
>
> ...
>
> read more »

--

You received this message because you are subscribed to the Google Groups 
"Google Contacts API" group.
To post to this group, send email to [email protected].
For more options, visit this group at 
http://groups.google.com/group/google-contacts-api?hl=.


Reply via email to