C# 使用谷歌api上传任何文件

C# 使用谷歌api上传任何文件,c#,google-docs,google-docs-api,google-api-client,C#,Google Docs,Google Docs Api,Google Api Client,据我所知,我可以使用谷歌API将任何类型的文件上传到我的个人文档中(商业账户已经可以了) 但现在,当我尝试将?convert=false添加到URI时,我收到了来自服务的403响应 我使用这段代码(它使用来自SVN trunk的C#api客户端) 如果没有?convert=false,则工作正常 我非常感谢您的帮助:例如,如何查看API客户端实际从服务中发布/接收的内容。更新的文档现在包括一个完整的示例,说明如何使用ResumableUploader组件上载任何文件: 如果这仍然不起作用,我建议

据我所知,我可以使用谷歌API将任何类型的文件上传到我的个人文档中(商业账户已经可以了)

但现在,当我尝试将
?convert=false
添加到URI时,我收到了来自服务的403响应

我使用这段代码(它使用来自SVN trunk的C#api客户端)

如果没有
?convert=false
,则工作正常


我非常感谢您的帮助:例如,如何查看API客户端实际从服务中发布/接收的内容。

更新的文档现在包括一个完整的示例,说明如何使用ResumableUploader组件上载任何文件:


如果这仍然不起作用,我建议安装Fiddler来捕获HTTP流量并检查请求和响应。

根据参考,convert=false到底做了什么?@Ramhound-此选项关闭自动文档转换(因此-允许您上载任何文件)
int CHUNK_SIZE = 1;

ClientLoginAuthenticator cla = new ClientLoginAuthenticator("uploader", ServiceNames.Documents, "username", "password");

// Set up resumable uploader and notifications
ResumableUploader ru = new ResumableUploader(CHUNK_SIZE);
ru.AsyncOperationCompleted += new AsyncOperationCompletedEventHandler(ru_AsyncOperationCompleted);
ru.AsyncOperationProgress += new AsyncOperationProgressEventHandler(ru_AsyncOperationProgress);

// Set metadata for our upload.
Document entry = new Document();
entry.Title = "test file";
entry.MediaSource = new MediaFileSource(fileName, "application/msword");

// Add the upload uri to document entry.
Uri createUploadUrl = new Uri("https://docs.google.com/feeds/upload/create-session/default/private/full?convert=false");
AtomLink link = new AtomLink(createUploadUrl.AbsoluteUri);
link.Rel = ResumableUploader.CreateMediaRelation;
entry.DocumentEntry.Links.Add(link);

ru.InsertAsync(cla, entry.DocumentEntry, new object());