Подтвердить что ты не робот

Получение отказа от сервера при отправке с помощью Google Picker, Oauth2

Мы пытаемся использовать google.picker, чтобы наши пользователи загружали файлы в нашу учетную запись диска (т.е. пользователю не требуется иметь учетную запись Google для загрузки).

Мы пытаемся использовать обычные учетные записи Google в качестве учетных записей, принадлежащих приложениям, и получили наш AUTH_TOKEN с помощью OAuth2 и установили его с помощью .setOAuthToken(AUTH_TOKEN). Мы следовали всему, что описано в docs.

Однако при загрузке мы получили ошибку Server Rejected. Вызов https://docs.google.com/upload/resumableupload?authuser=undefined:

{ "ErrorMessage": { "причина": "REQUEST_REJECTED", "additionalInfo": { "uploader_service.GoogleRupioAdditionalInfo": { "completionInfo": { "Статус": "REJECTED" }, "requestRejectedInfo": { "reasonDescription": "agent_rejected" }}}, "upload_id": "AEnB2Ur64Gb0JDCk_8mg5EhpdcaqL82wBQHumHjcGvDqYibtksmUzhfhBolsmBFzRuvQPRyi43SYfactJZvIWYrQ6xAqzu3L9g" }}

Мы знаем, что мы не можем использовать учетные записи служб, поскольку сборщик не поддерживает его.

Мы пропустили что-то в получении AUTH_TOKEN? Нужно ли что-то в консоли?

4b9b3361

Ответ 1

Дайте нам немного больше кода или проверьте звонок на gapi.auth.authorize()

Без фактического кода кода очень сложно точно сказать, что происходит. Скорее всего, это токены. Однако это может быть и так просто, как не определять пользователя Google (clientID), который, в свою очередь, влияет на вызов gapi.auth.authorize().

Ответ 3

Используйте Google Apps script на Диске с функцией doPost для отправки данных на сервер. Затем напишите в файл с помощью API-интерфейса накопителя. При публикации вы должны установить разрешения "доступным для любого, даже автономного", если выполняете междоменные вызовы. Сделайте script запустимым под своим именем пользователя в Google (для тестирования), но, скорее всего, вы захотите, чтобы эта функция переместилась на некоторую учетную запись пользователя приложения в Gmail.

Если вам нужен уровень аутентификации, даже если публикация script станет общедоступной, вы можете пройти аутентификацию против размещенной базы данных CloudSQL и/или библиотеки Jdbc для подключения к внешнему ресурсу.

Ответ 4

Сфера видимости является проблемой. Точный токен должен быть получен только с использованием правильной области: http://tinyurl.com/ldotq4y

Ответ 5

Легко замените scope: 'https://www.googleapis.com/auth/drive.readonly' на scope: 'https://www.googleapis.com/auth/drive'. Чтобы вы могли внести изменения, в том числе загрузить что-то в свой аккаунт Google Диска.

Ответ 6

Я только что столкнулся с той же проблемой, и на самом деле проблема в проблеме. Тем не менее, ни один из ответов, которые я нашел, не мог сказать мне, в чем заключалась проблема, пока я сам не нашел его. В моем случае мне нужно было убедиться, что область была указана на экране OAuth Consent в разделе Credentials проекта:

enter image description here