Мы используем https://github.com/googleapis/google-api-python-client для подключения к Gmail, который также обрабатывает обнаружение. Сегодня мы заметили, что API-интерфейсы не работают на одном из серверов, и выяснили, что кеш обнаружения (кешированный в google-api- python -client-discovery-do c .cache) недействителен и не может быть проанализирован JSON .
Похоже, что схема обнаружения построена неправильно или при передаче что-то потеряно (как последнее может случиться, я понятия не имею). Я добавил сюда частичное JSON, вы можете увидеть недопустимые JSON в строке: 7. здесь.
"quotaUser": {
"type": "string",
"description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.",
"location": "query"
},
"upload_protocol": {
"description": "Upload protocol for media (e.g. \"raw\", \"eapis.com/auth/gmail.settings.sharing": {
"description": "Manage your sensitive mail settings, including who can manage your mail"
},
"https://www.googleapis.com/auth/gmail.modify": {
"description": "View and modify but not delete your email"
},
"https://www.googleapis.com/auth/gmail.metadata": {
"description": "View your email message metadata such as labels and headers, but not the email body"
},
"https://www.googleapis.com/auth/gmail.labels": {
"description": "Manage mailbox labels"
},
"https://www.googleapis.com/auth/gmail.addons.current.message.metadata": {
"description": "View your email message metadata when the add-on is running"
},
"https://www.googleapis.com/auth/gmail.insert": {
"description": "Insert mail into your mailbox"
}
}
}
Я приложил полное обнаружение c для действительного и недопустимого здесь: https://drive.google.com/drive/folders/12LWm_EKNeWenJWUeIJA8BRDrXjz27OYO?usp=sharing
Обратите внимание, что когда этот кеш недействителен, он работает нормально, и API в порядке. Когда это происходит, формат немного отличается, так что возможно ли, что Gmail что-то экспериментирует, и это случается спорадически?