我正在尝试使用GCM使用App Engine构建作业网站。人们可以对其进行广告宣传,并通知其他人。当某人发布消息时,我希望将他们的电子邮件ID与消息一起附加,以确保该消息是合适的并且没有任何伤害,因此如果有人试图玩弄它可能更容易找到该人接着就,随即。我强迫用户在他们做任何事情之前登录gmail帐户。
我试图使用UserService来检索电子邮件ID和名称,但总是给我null。不确定我在哪里做错了。
@ApiMethod(name = "sendMessage")
public void sendMessage(@Named("message") String message)
throws IOException {
Sender sender = new Sender(API_KEY);
// create a MessageData entity with a timestamp of when it was
// received, and persist it
UserService userService = UserServiceFactory.getUserService();
User user = userService.getCurrentUser();
MessageData messageObj = new MessageData();
if(user != null)
messageObj.setMessage(message + " User : " + user.getUserId() + "Email " + user.getEmail());
else
messageObj.setMessage(message);
非常感谢任何帮助!
答案 0 :(得分:1)
UserService.getCurrentUser()将在用户登录时返回User对象,否则返回null。
您可以调用UserService.isUserLoggedIn()来测试用户是否已登录。