この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

Newer Version Available

This content describes an older version of this product. View Latest

Site クラス

Site クラスを使用して、Force.com サイトを管理します。

名前空間

System

使用方法

site.createPortalUser の使用時に例外が発生した場合、null が返され、サイトのシステム管理者にはメールが送信されます。サイトについての詳細は、Salesforce オンラインヘルプの「Force.com サイト」を参照してください。

Force.com Sites の例

次の例では、クラス SiteRegisterController を作成します。このクラスは Visualforce ページ (下記マークアップを参照) を使用して、新規カスタマーポータルユーザを登録します。

次の例では、新しいポータルユーザと関連付ける取引先の取引先 ID を入力する必要があります。取引先所有者をこのコード例が機能するロール階層に追加する必要もあります。詳細は、Salesforce オンラインヘルプの「カスタマーポータルの設定」を参照してください。

メモ

次は、上記の SiteRegisterController Apex コントローラを使用する Visualforce 登録ページです。
createPersonAccountPortalUser メソッドのサンプルコードは、上記のサンプルコードとほぼ同じですが、次の点が変更されています。
  • PORTAL_ACCOUNT_ID のすべてのインスタンスを OWNER_ID に置き換えています。
  • accountID ではなく ownerID を決定し、次のコードブロックに置き換えることにより、CreatePortalUser メソッドではなく createPersonAccountPortalUser メソッドを使用しています。
    置換後

Site のメソッド

Site のメソッドは次のとおりです。すべてのメソッドが静的です。

changePassword(newPassword, verifyNewPassword, oldPassword)

現在のユーザのパスワードを変更します。

署名

public static System.PageReference changePassword(String newPassword, String verifyNewPassword, String oldPassword)

パラメータ

newPassword
型: String
verifyNewPassword
型: String
oldPassword
型: String
省略可能。

戻り値

型: System.PageReference

使用方法

API バージョン 30.0 以降では、このメソッドへのコールはトランザクションを自動的にコミットしません。API バージョン 30.0 より前では、このメソッドへのコールはトランザクションをコミットするため、コール前のセーブポイントにロールバックできません。

createExternalUser(name, accountId)

指定された取引先のコミュニティまたはポータルユーザを作成し、コミュニティに関連付けます。

署名

public static Id createExternalUser(SObject name, String accountId)

パラメータ

name
型: SObject
ユーザを作成するために必要な情報。
accountId
型: String
ユーザを関連付ける取引先の ID。

戻り値

型: Id

このメソッドで作成されるユーザの ID。

使用方法

このメソッドは、ユーザの作成に失敗すると、Site.ExternalUserCreateException を発生させます。

nickname 項目は、createExternalUser メソッドを使用する場合に User sObject に必要です。

このメソッドは、サイトがカスタマーポータルに関連付けられている場合にのみ有効です。

メモ

API バージョン 30.0 以降では、このメソッドへのコールはトランザクションを自動的にコミットしません。API バージョン 30.0 より前では、このメソッドへのコールはトランザクションをコミットするため、コール前のセーブポイントにロールバックできません。

createExternalUser(name, accountId, password)

指定された取引先のコミュニティまたはポータルユーザを作成し、コミュニティに関連付けます。このメソッドでは、指定されたパスワードが記載されたメールをユーザに送信します。

署名

public static Id createExternalUser(SObject name, String accountId, String password)

パラメータ

name
型: SObject
ユーザを作成するために必要な情報。
accountId
型: String
ユーザを関連付ける取引先の ID。
password
型: String
コミュニティまたはポータルユーザのパスワード。指定しない場合、または null または空の文字列が設定されている場合、このメソッドは新しいパスワードメールをポータルユーザに送信します。

戻り値

型: Id

このメソッドで作成されるユーザの ID。

使用方法

このメソッドは、ユーザの作成に失敗すると、Site.ExternalUserCreateException を発生させます。

nickname 項目は、createExternalUser メソッドを使用する場合に User sObject に必要です。

このメソッドは、サイトがカスタマーポータルに関連付けられている場合にのみ有効です。

メモ

API バージョン 30.0 以降では、このメソッドへのコールはトランザクションを自動的にコミットしません。API バージョン 30.0 より前では、このメソッドへのコールはトランザクションをコミットするため、コール前のセーブポイントにロールバックできません。

createExternalUser(name, accountId, password, sendEmailConfirmation)

コミュニティまたはポータルユーザを作成し、指定された取引先に関連付けます。このメソッドでは、指定されたパスワードと新規ユーザの確認が記載されたメールをユーザに送信します。

署名

public static Id createExternalUser(SObject name, String accountId, String password, Boolean sendEmailConfirmation)

パラメータ

name
型: SObject
ユーザを作成するために必要な情報。
accountId
型: String
ユーザを関連付ける取引先の ID。
password
型: String
コミュニティまたはポータルユーザのパスワード。指定しない場合、または null または空の文字列が設定されている場合、このメソッドは新しいパスワードメールをポータルユーザに送信します。
sendEmailConfirmation
型: Boolean
新しいユーザメールがポータルユーザに送信されるかどうかを指定します。新しいユーザメールをポータルユーザに送信するには、true に設定します。デフォルトは false で、新しいユーザメールは送信されません。

戻り値

型: Id

このメソッドで作成されるユーザの ID。

使用方法

このメソッドは、ユーザの作成に失敗すると、Site.ExternalUserCreateException を発生させます。

nickname 項目は、createExternalUser メソッドを使用する場合に User sObject に必要です。

このメソッドは、サイトがカスタマーポータルに関連付けられている場合にのみ有効です。

メモ

API バージョン 30.0 以降では、このメソッドへのコールはトランザクションを自動的にコミットしません。API バージョン 30.0 より前では、このメソッドへのコールはトランザクションをコミットするため、コール前のセーブポイントにロールバックできません。

createPersonAccountPortalUser(user, ownerId, password)

ゲストユー��のプロファイルに定義されているデフォルトのレコードタイプを使用して個人取引先を作成し、サイトのポータルでその個人取引先を有効化します。

署名

public static ID createPersonAccountPortalUser(sObject user, String ownerId, String password)

パラメータ

user
型: sObject
ownerId
型: String
password
型: String

戻り値

型: ID

使用方法

API バージョン 30.0 以降では、このメソッドへのコールはトランザクションを自動的にコミットしません。API バージョン 30.0 より前では、このメソッドへのコールはトランザクションをコミットするため、コール前のセーブポイントにロールバックできません。

この方法は、サイトがカスタマーポータルに関連付けられている場合、およびデフォルトの新しいユーザプロファイルのユーザライセンスが大規模ポータルユーザである場合にのみ有効です。

メモ

createPersonAccountPortalUser(user, ownerId, recordTypeId, password)

指定された recordTypeID を使用して個人取引先を作成し、サイトのポータルでその個人取引先を有効化します。

署名

public static ID createPersonAccountPortalUser(sObject user, String ownerId, String recordTypeId, String password)

パラメータ

user
型: sObject
ownerId
型: String
recordTypeId
型: String
password
型: String

戻り値

型: ID

使用方法

API バージョン 30.0 以降では、このメソッドへのコールはトランザクションを自動的にコミットしません。API バージョン 30.0 より前では、このメソッドへのコールはトランザクションをコミットするため、コール前のセーブポイントにロールバックできません。

この方法は、サイトがカスタマーポータルに関連付けられている場合、およびデフォルトの新しいユーザプロファイルのユーザライセンスが大規模ポータルユーザである場合にのみ有効です。

メモ

createPortalUser(user, accountId, password, sendEmailConfirmation)

指定された取引先のポータルユーザを作成し、サイトのポータルと関連付けます。

署名

public static ID createPortalUser(sObject user, String accountId, String password, Boolean sendEmailConfirmation)

パラメータ

user
型: sObject
accountId
型: String
password
型: String
(省略可能) ポータルユーザのパスワードです。指定しない場合、または null または空の文字列が設定されている場合、このメソッドは新しいパスワードメールをポータルユーザに送信します。
sendEmailConfirmation
型: Boolean
(省略可能) 新しいユーザメールがポータルユーザに送信されるかどうかを指定します。新しいユーザメールをポータルユーザに送信するには、true に設定します。デフォルトは false で、新しいユーザメールは送信されません。

戻り値

型: ID

使用方法

nickname 項目は、createPortalUser メソッドを使用する場合にユーザの sObject に必要です。

このメソッドは、サイトがカスタマーポータルに関連付けられている場合にのみ有効です。

メモ

API バージョン 30.0 以降では、このメソッドへのコールはトランザクションを自動的にコミットしません。API バージョン 30.0 より前では、このメソッドへのコールはトランザクションをコミットするため、コール前のセーブポイントにロールバックできません。

forgotPassword(username)

ユーザのパスワードをリセットし、新しいパスワードを記載したメールをユーザに送信します。パスワードのリセットが正常に行われたかどうかを示す値を返します。

署名

public static Boolean forgotPassword(String username)

パラメータ

username
型: String

戻り値

型: Boolean

Visualforce ページの外側からコールされる場合は戻り値が false になり、それ以外の場合は常に true です。

メモ

使用方法

API バージョン 30.0 以降では、このメソッドへのコールはトランザクションを自動的にコミットしません。API バージョン 30.0 より前では、このメソッドへのコールはトランザクションをコミットするため、コール前のセーブポイントにロールバックできません。

getAdminEmail()

サイト管理者のメールアドレスを返します。

署名

public static String getAdminEmail()

戻り値

型: String

getAdminId()

サイト管理者のユーザ ID を返します。

署名

public static ID getAdminId()

戻り値

型: ID

getAnalyticsTrackingCode()

サイトに関連付けられている追跡コード。このコードは、Google Analytics などのサービスによって、サイトのページリクエストデータを追跡するために使用されます。

署名

public static String getAnalyticsTrackingCode()

戻り値

型: String

getCurrentSiteUrl()

非推奨。このメソッドは API バージョン 30.0 の getBaseUrl() に置き換えられました。参照やリンクで使用する必要がある、現在のサイトのベース URL を返します。

署名

この項目では、現在の要求の URL ではなく、参照元ページの URL を返す場合があります。返された値にはパスプレフィックスが含まれており、値の末尾は常に / 文字です。現在の要求がサイト要求ではない場合、このメソッドは null を返します。現在の要求がサイト要求ではない場合、このメソッドは null を返します。このメソッドは API バージョン 30.0 の getBaseUrl に置き換えられました。

public static String getCurrentSiteUrl()

戻り値

型: String

使用方法

代わりに、getBaseUrl() を使用してください。

getBaseCustomUrl()

Force.com サブドメインが使用されていない、現在のサイトのベース URL を返します。サイトの Force.com 以外のカスタム URL のうち、少なくとも 1 つが HTTPS をサポートしている場合、返された URL は、現在の要求と同じプロトコル (HTTP または HTTPS) を使用します。返された値の末尾は常に / 文字以外です。このサイトのすべてのカスタム URL の末尾が Force.com か、このサイトにカスタム URL がない場合、空の文字列が返されます。現在の要求がサイト要求ではない場合、このメソッドは空の文字列を返します。このメソッドにより getCustomWebAddress() が置き換えられました。またこのメソッドにはカスタム URL のパスプレフィックスが含まれます。

署名

public static String getBaseCustomUrl()

戻り値

型: String

使用方法

このメソッドにより getCustomWebAddress() が置き換えられます。またこのメソッドにはカスタム URL のパスプレフィックスが含まれます。

getBaseInsecureUrl()

HTTPS ではなく HTTP が使用されている、現���のサイトのベース URL を返します。現在の要求のドメインが使用されます。返された値にはパスプレフィックスが含まれており、値の末尾は常に / 文字以外です。現在の要求がサイト要求ではない場合、このメソッドは空の文字列を返します。

署名

public static String getBaseInsecureUrl()

戻り値

型: String

getBaseRequestUrl()

要求された URL について、現在のサイトのベース URL を返します。これは、参照元ページの URL による影響を受けません。返された URL は、現在の要求と同じプロトコル (HTTP または HTTPS) を使用します。返された値にはパスプレフィックスが含まれており、値の末尾は常に / 文字以外です。現在の要求がサイト要求ではない場合、このメソッドは空の文字列を返します。

署名

public static String getBaseRequestUrl()

戻り値

型: String

getBaseSecureUrl()

HTTP ではなく HTTPS が使用されている、現在のサイトのベース URL を返します。現在の要求のドメインが HTTPS をサポートしていれば優先されます。Force.com サブドメイン以外のドメインは、Force.com サブドメインよりも優先されます。Force.com サブドメインは、サイトに関連付けられている場合、現在のサイトに他の HTTPS ドメインがなければ使用されます。サイトに HTTPS カスタム URL がない場合、このメソッドは空の文字列を返します。返された値にはパスプレフィックスが含まれており、値の末尾は常に / 文字以外です。現在の要求がサイト要求ではない場合、このメソッドは空の文字列を返します。

署名

public static String getBaseSecureUrl()

戻り値

型: String

getBaseUrl()

参照やリンクで使用する必要がある、現在のサイトのベース URL を返します。この項目では、現在の要求の URL ではなく、参照元ページの URL を返す場合があります。返された値にはパスプレフィックスが含まれており、値の末尾は常に / 文字以外です。現在の要求がサイト要求ではない場合、この項目は空の文字列を返します。getCurrentSiteUrl は、この項目に置き換えられます。

署名

public static String getBaseUrl()

戻り値

型: String

使用方法

getCurrentSiteUrl() は、このメソッドに置き換えられます。

getCustomWebAddress()

非推奨。このメソッドは API バージョン 30.0 の getBaseCustomUrl() に置き換えられました。

署名

要求のカスタム URL の末尾が Force.com ではない場合はカスタム URL を返し、そうでない場合はサイトの主カスタム URL を返します。どちらも存在しない場合は、null を返します。この URL のパスは、要求のカスタム URL にパスプレフィックスがあっても、常にルートです。現在の要求がサイト要求ではない場合、このメソッドは null を返します。返された値の末尾は常に / 文字です。

public static String getCustomWebAddress()

戻り値

型: String

使用方法

代わりに、getBaseCustomUrl() を使用してください。

getDomain()

組織の Force.com ドメイン名を返します。

署名

public static String getDomain()

戻り値

型: String

getErrorDescription()

現在のページがサイトに指定されたエラーページであり、エラーがある場合は、現在のページのエラーの説明を返し、そうでない場合は空の文字列を返します。

署名

public static String getErrorDescription()

戻り値

型: String

getErrorMessage()

現在のページがサイトに指定されたエラーページで、エラーがある場合は、現在のページのエラーメッセージを返し、そうでない場合は空の文字列を返します。

署名

public static String getErrorMessage()

戻り値

型: String

getExperienceId()

エクスペリエンス ID (expid) の値を返します。この expid 値は、ユーザの Web ブラウザの Cookie から取得されます。

署名

public static String getExperienceId()

戻り値

型: String

使用方法

動的ログイン環境を実装するには、getExperienceId および setExperienceId メソッドを使用します。setExperienceId を使用して、または次のエンドポイントを expid_value で拡張してエクスペリエンス ID を設定できます。

  • community-url/services/oauth2/authorize/expid_value
  • community-url/idp/endpoint/HttpPost/expid_value
  • community-url/idp/endpoint/HttpRedirect/expid_value
  • community-url_login_page/expid={value}
  • community-url/CommunitiesSelfReg?expid={value}
  • secur/forgotpassword.jsp?expid={value}

ブラウザが expid 値を含む URL を読み込むときに Cookie が設定されます。

getMasterLabel()

現在のサイトの [マスタ表示ラベル] 項目の値を返します。現在の要求がサイト要求ではない場合、この項目は null を返します。

署名

public static String getMasterLabel()

戻り値

型: String

getName()

現在のサイトの API 名を返します。

署名

public static String getName()

戻り値

型: String

getOriginalUrl()

このページがサイトに指定されたエラーページである場合は、元の URL を返し、そうでない場合は null を返します。

署名

public static String getOriginalUrl()

戻り値

型: String

getPasswordPolicyStatement()

カスタマーサービス (Napili) テンプレートで作成されたコミュニティのパスワード要件を返します。

署名

public static String getPasswordPolicyStatement()

戻り値

型: String

getPathPrefix()

現在のサイトの URL パスプレフィックスを返し、存在しない場合は空の文字列を返します。たとえば、要求されたサイト URL が http://myco.force.com/partners である場合、/partners がパスプレフィックスです。現在の要求がサイト要求ではない場合、このメソッドは空の文字列を返します。このメソッドは API バージョン 30.0 の getPrefix に置き換わりました。

署名

public static String getPathPrefix()

戻り値

型: String

getPrefix()

非推奨。このメソッドは API バージョン 30.0 の getPathPrefix() に置き換えられました。

署名

現在のサイトの URL パスプレフィックスを返します。たとえば、サイト URL が myco.force.com/partners である場合、/partners がパスのプレフィックスです。プレフィックスが定義されていない場合は null を返します。 現在の要求がサイト要求ではない場合、このメソッドは null を返します。

public static String getPrefix()

戻り値

型: String

getSiteId()

現在のサイトの ID を返します。現在の要求がサイト要求ではない場合、この項目は null を返します。

署名

public static String getSiteId()

戻り値

型: Id

getTemplate()

現在のサイトに関連付けられたテンプレートを返します。テンプレートが指定されていない場合、デフォルトテンプレートを返します。

署名

public static System.PageReference getTemplate()

戻り値

型: System.PageReference

getSiteType()

現在のサイトの [サイト種別] 項目の API 値を返します。これは、Force.com サイトの Visualforce、Site.com サイトの Siteforce、Force.com コミュニティサイトの ChatterNetwork、または Site.com コミュニティサイトの ChatterNetworkPicasso を返します。現在の要求がサイト要求ではない場合、このメソッドは null を返します。

署名

public static String getSiteType()

戻り値

型: String

getSiteTypeLabel()

現在のサイトの [サイト種別] 項目の表示ラベル値を返します。現在の要求がサイト要求ではない場合、このメソッドは null を返します。

署名

public static String getSiteTypeLabel()

戻り値

型: String

isLoginEnabled()

現在のサイトがログインが有効なポータルと関連付けられている場合は true を返し、そうでない場合は false を返します。

署名

public static Boolean isLoginEnabled()

戻り値

型: Boolean

isPasswordExpired()

認証ユーザの場合、現在ログインしているユーザのパスワードの有効期限が切れている場合、true を返します。認証されていないユーザの場合は、false を返します。

署名

public static Boolean isPasswordExpired()

戻り値

型: Boolean

isRegistrationEnabled()

現在のサイトが有効なセルフ登録対応のカスタマーポータルと関連付けられている場合は true を返し、そうでない場合は false を返します。

署名

public static Boolean isRegistrationEnabled()

戻り値

型: Boolean

isValidUsername(username)

特定のユーザ名が有効な場合は true、有効ではない場合は false を返します。

署名

public static Boolean isValidUsername(String username)

パラメータ

username
型: String
有効性をテストするユーザ名。

戻り値

型: Boolean

login(username, password, startUrl)

ユーザは指定されたユーザ名およびパスワードで現在のサイトにログインでき、ユーザを startUrl に誘導します。startUrl が相対パスでない場合、デフォルトはサイトの指定されたインデックスページになります。

署名

public static System.PageReference login(String username, String password, String startUrl)

パラメータ

username
型: String
password
型: String
startUrl
型: String

戻り値

型: System.PageReference

使用方法

Site.login をコールする前のすべての DML ステートメントがコミットされます。Site.login をコールする前に作成されたセーブポイントにロールバックできません。

startURLhttp:// または https:// を指定しないでください。

メモ

setExperienceId(expIdValue)

現在のユーザのエクスペリエンス ID を設定します。ユーザの Web ブラウザのエクスペリエンス ID (expid) の値を入力するには、このメソッドを使用します。

署名

public static void setExperienceId(String expIdValue)

パラメータ

expIdValue
型: String
ユーザのログイン環境を示す値。

この値には最大 30 文字の英数字のみを使用します。

使用方法

動的ログイン環境を実装する場合は、setExperienceId を使用します。ログイン環境とは、ログインページとそれに関連付けられたセカンダリページを指します (2 要素認証やログインフローなど)。ユーザは誰か、またはユーザはどこからログインしているかに応じて、異なるログイン環境を定義します。たとえば、ユーザの場所に基づいて異なる登録プロセスを要求できます。この場合、expIdValue には都道府県または国コードが含まれます。ユーザがログインすると、URL にはエクスペリエンス ID パラメータ {expid} が含まれます。{expid} パラメータは、.jp など、expIdValue に保存されている値で置き換えられます。すると、ユーザは日本語ログイン環境にリダイレクトされます。

setPortalUserAsAuthProvider(user, contactId)

サイトのポータル内の指定されたユーザ情報を認証プロバイダ経由で設定します。

署名

public static Void setPortalUserAsAuthProvider(sObject user, String contactId)

パラメータ

user
型: sObject
contactId
型: String

戻り値

型: Void

使用方法

  • このメソッドは、サイトがカスタマーポータルに関連付けられている場合にのみ有効です。
  • API バージョン 30.0 以降では、このメソッドへのコールはトランザクションを自動的にコミットしません。API バージョン 30.0 より前では、このメソッドへのコールはトランザクションをコミットするため、コール前のセーブポイントにロールバックできません。
  • 認証プロバイダについての詳細は、RegistrationHandlerを参照してください。

validatePassword(user, password, confirmPassword)

特定のパスワードが、現在のユーザの組織全体またはプロファイルベースのパスワードポリシーで指定された要件を満たすかどうかを示します。

署名

public static void validatePassword(SObject user, String password, String confirmPassword)

パラメータ

user
型: SObject
コミュニティへのセルフ登録中にパスワードを作成しようとしているユーザ。
password
型: String
ユーザが入力したパスワード。
confirmPassword
型: String
パスワードの確認のためにユーザが再入力したパスワード。

戻り値

型: void

使用方法

メソッドが Lightning コントローラで実行されたときに検証が失敗すると、失敗した検証を説明する Apex 例外が発生します。メソッドが Visualforce コントローラで実行されたときに検証が失敗する��、Visualforce エラーメッセージが提供されます。