0

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);

どんな助けでも大歓迎です!

4

1 に答える 1

1

UserService.getCurrentUser() は、ユーザーがログインしている場合は User オブジェクトを返し、それ以外の場合は null を返します。

UserService.isUserLoggedIn() を呼び出して、ユーザーがログインしているかどうかをテストできます。

https://developers.google.com/appengine/docs/java/javadoc/com/google/appengine/api/users/UserService#getCurrentUser()

于 2013-07-11T22:53:52.127 に答える