Проекты API управления Firebase.addFirebase отказано в разрешении

Проблема: метод Projects.addFirebase API управления Firebase возвращает код состояния 403.

Шаги для воссоздания:

В приложении для Android мне нужно создать отдельные учетные записи Firebase для базы данных в реальном времени. Для этого я аутентифицирую пользователей с помощью GoogleSignIn. Затем я получаю токен с правильной областью действия «oauth2: https://www.googleapis.com/auth/облачная платформа». На следующем шаге я использую GCP Resource Manager API для создания нового проекта GCP, который будет контейнером для проекта Firebase.

Новый проект успешно создан на каждой из тестовых учетных записей.

Когда я пытаюсь вызвать метод Projects.addFirebase API управления Firebase, используя тот же токен, который я получил ранее (такая же область), я получаю сообщение об ошибке «У вызывающего абонента нет разрешения». Эта ошибка возникает на 3 из 4 учетных записей, которые я пробовал.

Я смог воспроизвести ту же ошибку, используя google-apis-explorer. Апис Исследователь

Буду признателен за любые подсказки, как решить эту проблему. Как я уже упоминал ранее, эта ошибка не возникает ни на одном из протестированных мной аккаунтов, а на остальных трех она возникает каждый раз.

Спасибо.

Обновлять

@Doug, спасибо, что нашли время посмотреть на мою проблему. Кажется, я нашел причину. После доступа к https://console.firebase.google.com и нажатия «Добавить проект» появилось следующее всплывающее окно (я не могу вставить его напрямую, потому что моя репутация слишком низкая):

Всплывающая ссылка

После того, как я проверил все согласия и добавил первый проект, я также могу успешно выполнять вызовы API.

Похоже, мой вопрос должен быть таким: есть ли способ предоставить необходимые разрешения через вызовы Resource Manager Api, чтобы я мог добавить Firebase в существующий облачный проект?

Также для справки я вставляю метод, который я использую для вызова project.addFirebase, он использует RxJava2 (Android) и Retrofit2.

@Headers({"Content-Type: application/json"})
@POST("projects/{project}:addFirebase")
Single<Operation> addFirebaseToProject(@Header("Authorization") String bearerToken,
                                       @Path("project") String project,
                                       @Body FirebaseDataModel dataModel
);

Спасибо за помощь.

Пс. извините за мой плохой английский, это не мой родной язык.

Без показа минимального полного кода для воспроизведения проблемы мы ничем не сможем помочь.

Doug Stevenson 20.02.2019 00:37

@DougStevenson Спасибо за вашу помощь. Я обновил вопрос.

Valdemar 20.02.2019 23:31
2
2
571
0

Другие вопросы по теме