Я пытаюсь загрузить изображение в облако Google облако из моего веб-приложения AngularJS и сделать то же самое мне нужен код доступа, который должен быть помещен в заголовок Авторизация при запросе загрузки. Чтобы получить токен доступа, я представил конечную точку на стороне сервера, которая разработана в JAVA. Мой текущий код для доступа к токену такой:Как получить код доступа для Google Cloud Storage?
GoogleCredential credential = GoogleCredential.fromStream(new URL("HERE GOES URL OF MY SERVICE ACCOUNT JSON FILE").openStream());
if (credential.createScopedRequired()) {
Collection<String> scopes = StorageScopes.all();
credential = credential.createScoped(scopes);
}
String token = credential.getAccessToken();
log.log(Level.SEVERE, "5 "+token);
Но в журналах я получаю null.
Почему я получаю JSON-файл из URL-адреса, потому что, когда я помещал JSON-файл в тот же пакет, он поднимал java.security.AccessControlException. Поэтому, чтобы избежать этого, я поместил файл на Google Drive и создал ссылку прямой загрузки, которая используется в приведенном выше коде.
Я просто хочу получить код доступа и отправить его в веб-приложение, чтобы можно было начать загрузку. Любая помощь будет оценена по достоинству.
Спасибо
Что вы пытаетесь сделать с доступом лексема напрямую? Большинство библиотек, которые используют GCS из App Engine, автоматически контролируют авторизацию в качестве учетной записи службы движка приложения. –
@BrandonYarbrough Я пытаюсь загрузить изображение в GCS, используя мое веб-приложение, встроенное в angularJS, и для достижения того же мне нужно отправить токен доступа в заголовок авторизации. –
А, вы отправляете токен доступа на клиентскую сторону, а затем используете ли этот токен для выполнения загрузки? Если это так, я настоятельно рекомендую вам использовать другой подход, например, подписанные URL-адреса. Маркер доступа представляет FULL-права для того, чтобы сделать что-то, что может сделать учетная запись службы с этой областью. Например, вредоносный клиент может удалить ведро и все его содержимое. –