У меня есть сценарий, помогающий управлять сайтом Google Blogger, и он работает чуть больше года без каких-либо проблем.
Пару недель назад скрипт перестал работать должным образом, вместо этого возвращая ошибку «404 Not Found» при запросе списка комментариев к сообщению в блоге.
ERROR: <HttpError 404 when requesting https://www.googleapis.com/blogger/v3/blogs/<RedactedBlogId>/posts/<RedactedPostId>/comments?status=live&alt=json&maxResults=200 returned "Not Found">
Я также пробовал ресурс "listByBlog"
ERROR: <HttpError 404 when requesting https://www.googleapis.com/blogger/v3/blogs/<RedactedBlogId>/comments?status=live&alt=json&maxResults=200 returned "Not Found">
По сравнению с Попробовать этот API
Что немного странно, так это то, что когда я использую "Попробуйте этот API" с теми же blogId
и postId
я получаю ожидаемый ответ.... ЕСЛИ я также префикс postId
с косой чертой, т. е. /<RedactedPostId>
без префикса косой черты, я получаю пустой результат. Я обнаружил это случайно, когда скопировал/вставил файл postId
. Если я проверю вкладку сети в devtools, запрошенный URL-адрес (при получении правильного ответа) будет https://content.googleapis.com/blogger/v3/blogs/<RedactedBlogId>/posts/%2F<RedactedPostId>/comments?key=<RedactedKey>
Единственным существенным отличием (помимо действительно странного префикса-требования...) является доменное имя.
Клиентская библиотека Python
Используя клиентскую библиотеку Python версии 1.6.5, мой скрипт работает нормально, вплоть до эта точка. Я могу запросить информацию о блоге и список сообщений. Поэтому я исключил проблемы с аутентификацией/авторизацией.
Выводы
- Я не считаю, что авторизация является проблемой, поскольку другие ресурсы работают
- Я не делал никаких изменений в своем скрипте... он просто перестал работать в один прекрасный день
- обновление до последней версии клиентской библиотеки python не помогло
- тот факт, что я должен ставить префикс
/
, когда «пробую» API на сайте документации, предполагает, что с ресурсом API что-то не так... - Префикс
postId
с/
в моем скрипте Python не решает проблему - Просто чтобы внести ясность,
blogId
иpostId
ЯВЛЯЮТСЯ правильными, я проверил дважды, трижды, четыре раза и скопировал одни и те же значения в «Попробуйте этот API», которые, за исключением префикса/
, работают должным образом.