Ответ 1
Вам не нужно ничего делать. У меня есть федеративное приложение входа в приложение, где я недавно добавил приложение для Android, которое использует Cloud Endpoints. Вам не нужно ничего особенного, просто поместите параметр User в вашу функцию. В объекте User вы найдете адрес электронной почты пользователя, который вы должны авторизовать, чтобы получить доступ к данным.
@Api(name = "my_api",
version = "v1",
scopes = {"https://www.googleapis.com/auth/userinfo.email"},
clientIds = {Constants.AUTH_CLIENT,
Constants.AUTH_CLIENT_APIEXPLORER})
public class MyEndpoint {
@ApiMethod(name = "fistEndpoint")
public ResponseObject fistEndpoint(User user) throws OAuthRequestException {
if (user == null) {
throw new OAuthRequestException("Access denied!");
}
String email = user.getEmail();
//Authorize the request here
//make the ResponseObject and return it
}
}
После создания посещения конечной точки: https://your-app.appspot.com/_ah/api/explorer и протестировать его
ОБНОВЛЕНО: Приведенный выше пример ограничен аккаунтами Google. Если вы хотите создать учетную запись другого типа, вы можете проверить этот пост: Пользовательская аутентификация для конечных точек Google Cloud (вместо OAuth2)