Служба Google Discovery отправляет неверный ответ для Gmail Discovery - PullRequest
0 голосов
/ 13 июля 2020

Мы используем 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 что-то экспериментирует, и это случается спорадически?

1 Ответ

0 голосов
/ 14 июля 2020

Тот факт, что аннулирование кеша устраняет проблему (это означает, что Python напрямую захватывает копию файла, а не использует ваш кеш), вероятно, указывает на то, что в вашем кэшированном документе происходит повреждение. Похоже на проблему с тем, как она хранится в файловой системе.

Можете ли вы воспроизвести проблему, если кеширование файла обнаружения полностью отключено?

...