Google.GData.Client.GDataRequestException was unhandled
   Message="Execution of request failed: 
http://docs.google.com/feeds/media/private/full/spreadsheet:rqfFdRlpaWjFOyJ9MrslMjg
 
"
   Source="Google.GData.Client"
   ResponseString="Malformed Content-Type"
   StackTrace:
        at Google.GData.Client.GDataRequest.Execute()
        at Google.GData.Client.GDataGAuthRequest.Execute(Int32  
retryCounter)
        at Google.GData.Client.GDataGAuthRequest.Execute()
        at Google.GData.Client.Service.StreamSend(Uri targetUri,  
Stream inputStream, GDataRequestType type, String contentType, String  
slugHeader, String etag, AsyncSendData data)
        at Google.GData.Client.Service.StreamSend(Uri targetUri,  
Stream inputStream, GDataRequestType type, String contentType, String  
slugHeader)
        at Google.GData.Client.Service.Update(Uri uriTarget, Stream  
input, String contentType, String slugHeader)
        at myfirstcsharp.Program.Main(String[] args) in C:\Documents  
and Settings\harry\My Documents\Visual Studio 2008\Projects\updatesheet 
\myfirstcsharp\Program.cs:line 54
        at System.AppDomain._nExecuteAssembly(Assembly assembly,  
String[] args)
        at System.AppDomain.nExecuteAssembly(Assembly assembly,  
String[] args)
        at System.Runtime.Hosting.ManifestRunner.Run(Boolean  
checkAptModel)
        at System.Runtime.Hosting.ManifestRunner.ExecuteAsAssembly()
        at  
System 
.Runtime.Hosting.ApplicationActivator.CreateInstance(ActivationContext  
activationContext, String[] activationCustomData)
        at  
System 
.Runtime.Hosting.ApplicationActivator.CreateInstance(ActivationContext  
activationContext)
        at System.Activator.CreateInstance(ActivationContext  
activationContext)
        at  
Microsoft 
.VisualStudio.HostingProcess.HostProc.RunUsersAssemblyDebugInZone()
        at System.Threading.ThreadHelper.ThreadStart_Context(Object  
state)
        at System.Threading.ExecutionContext.Run(ExecutionContext  
executionContext, ContextCallback callback, Object state)
        at System.Threading.ThreadHelper.ThreadStart()
   InnerException: System.Net.WebException
        Message="The remote server returned an error: (400) Bad  
Request."
        Source="System"
        StackTrace:
             at System.Net.HttpWebRequest.GetResponse()
             at Google.GData.Client.GDataRequest.Execute()
        InnerException:


On Jun 15, 2009, at 6:49 PM, Eric Bidelman wrote:

> Sorry.  The definition of GDocumntsAllowedType is in the lib's source:
> http://code.google.com/p/google-gdata/source/browse/trunk/clients/cs/src/gdocuments/documentservice.cs#56
>
> What is the exception/response from the server?
>
> Eric
>
> On Mon, Jun 15, 2009 at 3:37 PM, harry mendell <harry.mend...@gmail.com 
> > wrote:
>
> Dear Eric,
> I tried adapting your code and wrote a test which I copied below.    
> It fails at
> DocumentEntry entry = service.Update(new  
> Uri(lastUploadEntry.MediaUri.ToString()), stream, "CSV",  
> lastUploadEntry.Title.Text) as DocumentEntry;
> which is almost at the bottom. I think I'm having a some code of  
> compatibility issue between the ACL and token auth, but this end of  
> the pool is pretty deep.
> Would you mind taking a look?
> Thanks,
> Harry
>
>
>
>
>
>
> using System;
> using System.IO;
> using System.Collections;
> using System.Net;
> using System.Collections.Generic;
> using Google.Spreadsheets;
> using System.Linq;
> using System.Text;
> using Google.GData.Documents;
> using Google.GData.Client;
> using Google.GData.Extensions;
>
>
>
> namespace myfirstcsharp
> {
>
>     class Program
>     {
>         static void Main(string[] args)
>         {
>             DocumentsService service = new DocumentsService("HBM- 
> DocListUploader-1");
>             ((GDataRequestFactory)service.RequestFactory).KeepAlive  
> = false;
>             service.setUserCredentials("qvtuat", "qvtqvtqvt");
>             //force the service to authenticate
>             DocumentsListQuery query = new DocumentsListQuery();
>             query.NumberToRetrieve = 1;
>             service.Query(query);
>
>
>             // For testing only. Creates document called radar.csv
>             DocumentEntry lastUploadEntry =  
> service.UploadDocument("c:/radar.csv", "radar.csv");
>             // For testing only. Now lets see if we can update it
>             FileInfo fileInfo = new FileInfo("c:/radar.csv");
>             FileStream stream = fileInfo.Open(FileMode.Open,  
> FileAccess.Read, FileShare.ReadWrite);
>
>             try
>             {
>                 /* It didn't recogize GDocumntsAllowedType so I  
> commented the check since I know its good type
>                 // convert the extension to caps and strip the "."  
> off the front
>                 string ext =  
> fileInfo.Extension.ToUpper().Substring(1);
>                 String contentType =  
> (String)GDocumentsAllowedTypes[ext];
>
>                 if (contentType == null)
>                 {
>                     throw new ArgumentException("File extension '" +  
> ext + "' is not recognized as valid.");
>                 }
>                 // Make sure we don't overwrite someone else's  
> changes.  Use entry's ETag
>              */
>                 GDataRequestFactory factory =  
> (GDataRequestFactory)service.RequestFactory;
>                 factory.CustomHeaders.Add("If-Match: " +  
> lastUploadEntry.Etag);
>                 service.RequestFactory = factory;
>                 DocumentEntry entry = service.Update(new  
> Uri(lastUploadEntry.MediaUri.ToString()), stream, "CSV",  
> lastUploadEntry.Title.Text) as DocumentEntry;
>             }
>             finally
>             {
>                 stream.Close();
>             }
>         }
>     }
> }
>
>
> On Jun 11, 2009, at 5:16 PM, Eric (Google) wrote:
>
>>
>> This worked for me:
>>
>> DocumentsService service = new DocumentsService("yourCompany-AppName-
>> v1");
>> // TODO: Fetch DocumentEntry
>> ReplaceDocContents(entryToUpdate, "C:\somewhere\test.doc");
>> ...
>>
>> static public DocumentEntry ReplaceDocContents(DocumentEntry
>> entryToUpdate, string replacementFileName)
>> {
>>  DocumentEntry entry = null;
>>
>>  FileInfo fileInfo = new FileInfo(replacementFileName);
>>  FileStream stream = fileInfo.Open(FileMode.Open, FileAccess.Read,
>> FileShare.ReadWrite);
>>
>>  try
>>  {
>>    // convert the extension to caps and strip the "." off the front
>>    string ext = fileInfo.Extension.ToUpper().Substring(1);
>>
>>    String contentType = (String)GDocumentsAllowedTypes[ext];
>>
>>    if (contentType == null)
>>    {
>>        throw new ArgumentException("File extension '" + ext +
>>                                    "' is not recognized as valid.");
>>    }
>>
>>    // Make sure we don't overwrite someone else's changes.  Use
>> entry's ETag
>>    GDataRequestFactory factory = (GDataRequestFactory)
>> service.RequestFactory;
>>    factory.CustomHeaders.Add("If-Match: " + entryToUpdate.Etag);
>>    service.RequestFactory = factory;
>>
>>    entry = service.Update(new Uri(entryToUpdate.MediaUri.ToString()),
>>                           stream, contentType,
>> entryToUpdate.Title.Text) as DocumentEntry;
>>  }
>>  finally
>>  {
>>    stream.Close();
>>  }
>>
>>  return entry;
>> }
>>
>> You may have more luck next time if the post isn't "write my app for
>> me".
>>
>> Eric
>>
>> On Jun 11, 11:49 am, harry mendell <qvt...@gmail.com> wrote:
>>> I tried .net and first and can upload but not update. At this  
>>> point I
>>> would be grateful for any solution. I've been at this for over a  
>>> week
>>> and am ready to put my head through the wall:)
>>>
>>> PS I am able to do it a cell at a time with the spreadsheet api, but
>>> its slow, and besides I am not going to be able to sleep until I get
>>> this. I haven't felt like such a newbie since I poped out of my
>>> mother. Starting to feel postal.
>>
>>
>
>
>
>
>
>
> >


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Google Docs Data APIs" group.
To post to this group, send email to Google-Docs-Data-APIs@googlegroups.com
To unsubscribe from this group, send email to 
google-docs-data-apis+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/Google-Docs-Data-APIs?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to