У меня проблема с получением идентификатора пользователя для метода конечной точки для облаков. Я использовал аутентификацию oauth2 в своем клиенте android и передал учетные данные моей службе. Ниже приведено то, как выглядит мой метод (упрощается, чтобы сделать его более понятным).
Я отмечаю, что issue 8848 для python, похоже, очень похож на эту проблему.
Проблема такая же в java api? Метод
public SuccessCode doSomething(WireFormat wire, User user){
log.info("User id: "+user.getUserId());
log.info("Federated identity: "+user.getFederatedIdentity());
log.info("Email address: "+user.getEmail());
}
будет показывать значение null для федеративного идентификатора и пользователя, даже если учетные данные в клиенте android выполнялись при аутентификации oauth2. В журнале отображается правильный адрес электронной почты. Это все в развернутом приложении btw.
У кого-нибудь есть другие предложения относительно того, что не так? Какие-либо известные способы обхода проблемы? Я выполнил метод, предложенный в https://developers.google.com/appengine/docs/java/endpoints/consume_android#making-authenticated-calls, чтобы настроить моего клиента android.