Hi, There have been some recent changes to the way the Documents List API handles file uploads. Instead of writing a MIME entry to the server, try just sending the raw bytes of the XLS file and changing the Content-Type of the POST itself to be 'application/vnd.ms-excel'. Whatever is provided in the Slug header will be the title (and it shouldn't have to end in .xls).
The documentation will be updated soon to reflect this. Cheers, -Jeff On Oct 22, 3:37 am, "[EMAIL PROTECTED]" <[EMAIL PROTECTED]> wrote: > hi, guys, > I tried to upload a xls file to google documents from a windows > mobile device, but I always get the following error: > ==> "The remote server returned an error: (500) Internal Server > Error." > > I am sure that I get a correct authenticating because I can > sucessfully get the document list. I make the post content identical > to the tutorial. > I tried the java library, it works great. Then I capture the ip > packet and fill in my post body as it does, still get the 500 error. > the main part of java library sent to upload a new xls looks like > following: > -------------------------------------------------------------------------------------------------------------------------- > <entry xmlns='http://www.w3.org/2005/Atom'> > <category scheme='http://schemas.google.com/g/2005#kind' > term='http://schemas.google.com/docs/2007#spreadsheet' > label='spreadsheet'> > </category> > <title type='text'>test.xls</title> > <content type='application/vnd.ms-excel'> > </content> > </entry>\r\n" > > while the guide's main part looks like > ------------------------------------------------------------------------------------------------------------------------------ > <?xml version='1.0' encoding='UTF-8'?> > <atom:entry xmlns:atom="http://www.w3.org/2005/Atom"> > <atom:category scheme="http://schemas.google.com/g/2005#kind" > term="http://schemas.google.com/docs/2007#spreadsheet" /> > <atom:title>example spreadsheet</atom:title> > </atom:entry> > > anyway both of them doesn't work for me, can any body give me an > working example? > > And I paste my code if it helps > ============================================================== > StreamReader sr1 = new StreamReader("test.xls"); > String xlsStrData = sr1.ReadToEnd(); > ASCIIEncoding encoding = new ASCIIEncoding(); > > String postBodyStr = > "--END_OF_PART\r\n" + > "Content-Type: application/atom+xml\r\n" + > "\r\n" + > > "<entry xmlns='http://www.w3.org/2005/ > Atom'><category scheme='http://schemas.google.com/g/2005#kind' > term='http://schemas.google.com/docs/2007#spreadsheet' > label='spreadsheet'></category><title type='text'>test.xls</ > title><content type='application/vnd.ms-excel'></content></entry>\r\n" > + > //"<?xml version='1.0' encoding='UTF-8'?>\r\n" + > //"<atom:entry xmlns:atom='http://www.w3.org/2005/ > Atom'>\r\n" + > //"<atom:category scheme='http:// > schemas.google.com/g/2005#kind' term='http://schemas.google.com/docs/ > 2007#spreadsheet' />\r\n" + > //"<atom:title>example spreadsheet</atom:title>\r > \n" + > //"</atom:entry>\r\n"+ > "--END_OF_PART\r\n" + > "Content-Type: application/vnd.ms-excel\r\n" + > "\r\n\r\n\r\n" + xlsStrData + "\r\n" + > "--END_OF_PART--\r\n"; > > byte[] postBodyData = > encoding.GetBytes(postBodyStr); > > HttpWebRequest req = > (HttpWebRequest)WebRequest.Create(url); > req.Method = "POST"; > req.ContentLength = postBodyData.Length; > req.ContentType = "multipart/related;boundary= > \"END_OF_PART\""; > //req.AllowAutoRedirect = true; > //req.AllowWriteStreamBuffering = true; > > String op = "Authorization: GoogleLogin "; > op += token; > req.Headers.Add(op); > req.Headers.Add("Slug: test.xls"); > > //req.Headers.Add("Accept-Encoding: gzip"); > //req.Headers.Add("Cache-Control: no-cache"); > //req.Headers.Add("Pragma: no-cache"); > //req.Accept = "Accept: text/html, image/gif, image/ > jpeg, *; q=.2, */*; q=.2"; > //req.Headers.Add("MIME-version: 1.0"); > > Stream postbody = req.GetRequestStream(); > postbody.Write(postBodyData, 0, postBodyData.Length); > postbody.Close(); > > WebResponse result = req.GetResponse(); > ======================================================================= > thanks ahead --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Google Data API" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-help-dataapi?hl=en -~----------~----~----~----~------~----~------~--~---
