Согласно блогу Google Я могу использовать API Google для загрузки любого типа файла в мои личные документы (это уже было возможно для бизнес-аккаунтов).
Но сейчасЯ получаю 403 ответа от службы, когда я пытаюсь добавить ?convert=false
в URI.
Я использую этот код (он использует 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 действительно отправляет / получает от службы.