Загрузка любого файла с помощью google api

Согласно блогу Google, я Я могу использовать Google API для загрузки любого файла в мои личные документы (это уже было возможно для бизнес-аккаунтов).

Но сейчас я получаю ответ 403 от службы, когда пытаюсь добавить ?convert=false в URI.

Я использую этот код (он использует клиент API google-gdata C# API из магистрали SVN)

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());

Без ?convert=false работает нормально.

Я ценю любую помощь: например, как увидеть, какой API-клиент на самом деле отправляет/получает от службы.


person Meta    schedule 10.05.2011    source источник
comment
Что именно делает ?convert=false?   -  person Security Hound    schedule 10.05.2011
comment
@Ramhound по ссылке - эта опция отключает автоматическое преобразование документов (таким образом - позволяет загружать любой файл)   -  person Meta    schedule 10.05.2011


Ответы (1)


Обновленная документация теперь включает полный пример использования компонента ResumableUploader для загрузки любых файлов: https://developers.google.com/google-apps/documents-list/#uploading_a_new_document_or_file_with_both_metadata_and_content

Если это все еще не работает, я бы рекомендовал установить Fiddler для захвата HTTP-трафика и проверки запроса и ответа.

person Claudio Cherubino    schedule 27.05.2012