Ожидаемый код ответа 200, получено 400. Невозможно конвертировать документ
В последние 2 недели или около того я неожиданно начал получать сообщения о том, что пользователи получают сообщение об ошибке в нашем приложении: "Ожидаемый код ответа 200, получено 400. Невозможно преобразовать документ". Этот код существует годами без каких-либо проблем. Мы используем Zend Framework (GData) совместно с Google Docs (AuthSub).
Мы регистрируем проблему в текстовом файле, когда это происходит. Когда он регистрируется, пользователь часто пытается несколько раз (иногда разделяется на несколько секунд, иногда - на более длительное время), и это продолжает давать сбой. Данный код просто создает новый документ Google в учетной записи пользователя и присваивает ему заголовок (без основного текста).
Первоначально я использовал этот код:
// Create new document
$data = new Zend_Gdata_Docs_DocumentListEntry();
$data->setCategory(
array(new Zend_Gdata_App_Extension_Category(
"http://schemas.google.com/docs/2007#document",
"http://schemas.google.com/g/2005#kind"
)));
$data->setTitle(new Zend_Gdata_App_Extension_Title($title, null));
// Add document to your list
$test = $sharedocs->insertDocument($data, Zend_Gdata_Docs::DOCUMENTS_LIST_FEED_URI);
Чтобы поэкспериментировать и посмотреть, была ли проблема с этой конкретной функцией, я попытался создать пустое слово doc и изменить код на:
$test = $sharedocs->uploadFile('/mypath/empty.doc', $title, null, Zend_Gdata_Docs::DOCUMENTS_LIST_FEED_URI);
Тем не менее я все еще вижу ошибки "Невозможно преобразовать документ". Они относительно редки, и я не могу воспроизвести проблему на своих компьютерах здесь. Переменная $ title не содержит ничего необычного (специальные символы и т. Д.).
Раньше этот код работал нормально - есть ли известная проблема с Google Docs API прямо сейчас? Что еще я могу попробовать?
ПРИМЕЧАНИЕ: Пожалуйста, смотрите мои последующие комментарии ниже, где я определил воспроизводимый сценарий, в котором возникает эта ошибка.
1 ответ
У меня была точно такая же проблема, но я заметил, что я могу использовать API, чтобы сохранить презентацию, если не документ... так что это ужасный взлом, но я пытаюсь сохранить документ (работает, если учетная запись уже была доступ)... если это не удается, я сохраняю и удаляю презентацию и повторяю, чтобы сохранить документ, который затем работает. Ужасный, ужасный, ужасный хак