有効な Google アカウントに対応していないメールアドレスを使用して User::__construct() が呼び出された場合、オブジェクトは作成されますが実際の Google アカウントには対応しません。こうしたケースは、オブジェクトが保存された後に、特定のメールアドレスを使用して Google アカウントを作成する場合にも起こります。User 値の作成時に Google アカウントを表していないメールアドレスがその値に含まれていると、その User 値は実際のユーザーを表す User 値とは一致しません。
有効なユーザーの User オブジェクトにより、そのユーザーの一意の ID 値が得られます。この値はそのユーザーがメールアドレスを変更しても変わりません。この ID(string 値)は getUserId() メソッドによって返されます。
[[["わかりやすい","easyToUnderstand","thumb-up"],["問題の解決に役立った","solvedMyProblem","thumb-up"],["その他","otherUp","thumb-up"]],[["わかりにくい","hardToUnderstand","thumb-down"],["情報またはサンプルコードが不正確","incorrectInformationOrSampleCode","thumb-down"],["必要な情報 / サンプルがない","missingTheInformationSamplesINeed","thumb-down"],["翻訳に関する問題","translationIssue","thumb-down"],["その他","otherDown","thumb-down"]],["最終更新日 2025-09-04 UTC。"],[[["\u003cp\u003eThe \u003ccode\u003eUser\u003c/code\u003e class represents a unique user, and two equal instances signify the same user.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eUserService::getCurrentUser()\u003c/code\u003e retrieves the \u003ccode\u003eUser\u003c/code\u003e instance for the current user, regardless of the authentication method.\u003c/p\u003e\n"],["\u003cp\u003eA \u003ccode\u003eUser\u003c/code\u003e instance can be created from an email address, but it may not correspond to a valid Google account.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003egetUserId()\u003c/code\u003e method of a \u003ccode\u003eUser\u003c/code\u003e object provides a unique ID that remains consistent even if the user's email changes.\u003c/p\u003e\n"],["\u003cp\u003eThis API is only for first-generation runtimes, and a migration guide is available for updates to PHP 7/8 runtimes.\u003c/p\u003e\n"]]],[],null,["# User Objects\n\nAn instance of the [User](/appengine/docs/legacy/standard/php/refdocs/classes/google.appengine.api.users.User) class represents a user. User instances are unique and comparable. If two instances are equal, then they represent the same user.\n| This page describes how to use the legacy bundled services and APIs. This API can only run in first-generation runtimes in the App Engine standard environment. If you are updating to the App Engine PHP 7/8 runtime, refer to the [migration guide](/appengine/migration-center/standard/migrate-to-second-gen/php-differences) to learn about your migration options for legacy bundled services.\n\nThe application can access the User instance for the current user by calling the [`UserService::getCurrentUser()`](/appengine/docs/legacy/standard/php/refdocs/classes/google.appengine.api.users.UserService#method_getCurrentUser) function. \n\n use google\\appengine\\api\\users\\UserService;\n\n $user = UserService::getCurrentUser();\n\n if (isset($user)) {\n return sprintf('Welcome, %s! (\u003ca href=\"%s\"\u003esign out\u003c/a\u003e)',\n $user-\u003egetNickname(),\n UserService::createLogoutUrl('/'));\n } else {\n return sprintf('\u003ca href=\"%s\"\u003eSign in or register\u003c/a\u003e',\n UserService::createLoginUrl('/'));\n }\n\nYou can use the `UserService::getCurrentUser()` function no matter which authentication option your app uses.\n\nA User instance can be also constructed from an email address: \n\n $user = new User('Albert.Johnson@example.com');\n\nIf the [`User::__construct()`](/appengine/docs/legacy/standard/php/refdocs/classes/google.appengine.api.users.User#method___construct) is called with an email address that does not correspond with a valid Google account, the object will be created but it will not correspond with a real Google account. This will be the case even if someone creates a Google account with the given email address after the object is stored. A User value with an email address that does not represent a Google account at the time it is created will never match a User value that represents a real user.\n\nThe User object for a valid user can provide a unique ID value for the user that stays the same even if the user changes her email address. The [`getUserId()`](/appengine/docs/legacy/standard/php/refdocs/classes/google.appengine.api.users.User#method_getUserId) method returns this ID, a `string` value.\n\nThe User object has the same form no matter which method of authentication your app uses."]]