メソッドと操作
メソッドと操作
ツールキットの詳細
ク ラス名: box.Toolkit
インスタンス変数
mostRecentError
インスタンスメソッドの呼び出し時に発生した最新のエラーを示す文字列。
この文字列が存在しても、操作が成功しなかったことを意味するわけではありません。そのエラーが回復可能であった可能性もあります。ただし、この文字列に値がない場合は、操作が成功したことを示しています。
Enum CollaborationType
コラボレーションのタイプを示す列挙型。
可能性のある値: EDITOR
、VIEWER
、PREVIEWER
、UPLOADER
、COOWNER
、OWNER
、PREVIEWERUPLOADER
、VIEWERUPLOADER
静的メソッド
deleteServiceUserAssociation
サービスアカウントとBox for Salesforce統合の関連付けをクリアするメソッド。間違ったサービスアカウントが使用されている場合、このメソッドを使用してアカウントを変更できます。
パラメータ:
- なし
戻り値:
- ユーザーのアカウントが存在していたが削除された場合は
true
。 - ユーザーのアカウントが何らかの理由 (存在しなかった場合を含む) で削除されなかった場合は
false
。
deleteUserAssociation
パラメータ | 型 | 説明 |
---|---|---|
userId | id | 資格情報がクリアされるユーザーのID。 |
戻り値:
- ユーザーのアカウントが存在していたが削除された場合は
true
。 - ユーザーのアカウントが何らかの理由 (存在しなかった場合を含む) で削除されなかった場合は
false
。
インスタンスメソッド - コンストラクタ、デストラクタ
box.Toolkit()
パラメータ:
- なし
commitChanges
このメソッドはbox.Toolkit()
メソッドのデストラクタとして扱います。
Salesforceではデータベースの更新/挿入/削除の後の呼び出しは許可されないため、Toolkitクラスではすべての呼び出し操作が完了した後で挿入するオブジェクトのコレクションが保持されます。このメソッドを呼び出さない場合、このようなオブジェクトがデータベースから消去され、ユーザー/レコード/フォルダの関連付けを追跡するテーブルの同期も失われて、高度なデバッグによる修正が必要になります。
パラメータ:
- なし
戻り値:
Void
プラットフォームイベントを使用するcommitChanges
このメソッドはbox.Toolkit()
メソッドのデストラクタとして扱います。
このメソッドは、上記のcommitChanges
とよく似ています。ただし、別のトランザクションでDMLステートメントを実行し、一部のシナリオでガバナ制限を回避するために、プラットフォームイベントを使用してデータベースに変更をコミットします。
パラメータ | 型 | 説明 |
---|---|---|
usePlatformEvent | boolean | プラットフォームイベントを使用する場合はtrue 。元のメソッドを呼び出す場合はfalse 。 |
戻り値:
Void
ジェネリックメソッド
Box for Salesforce Developer Toolkitは、パラメータとしてHttpRequestオブジェクトを受け取り、HttpResponseオブジェクトを返すグローバルメソッドを提供します。このメソッドではサービスアカウントの認証の詳細情報を利用してBoxのAPIを呼び出すため、開発者は統合のビジネスロジックに集中して取り組むことができます。
sendRequest
パラメータ | 型 | 説明 |
---|---|---|
request | HttpRequest | エンドポイントとメソッドが設定されたHttpRequestオブジェクト。 |
戻り値:
- BoxのAPIコールからのレスポンスの詳細情報が含まれたHttpResponseオブジェクト。
- HttpRequestのインプットの情報が不足している場合は
Toolkit.BoxApiException
。 - サービスアカウントの認証の詳細情報を取得する際に問題が発生した場合は
null
。この場合は、mostRecentError
を確認してください。
ファイル操作
createFileFromAttachment
パラメータ | 型 | 説明 |
---|---|---|
att | Attachment | Box内のファイルに変換される添付ファイル。 |
fileNameOverride | string | 省略可 - 新しいファイルの名前。値が渡されなかった場合、添付ファイルの名前が使用されます。 |
folderIdOverride | string | 省略可 - この添付ファイルの配置先であるBoxフォルダID。値が渡されなかった場合、ファイルは添付ファイルのparentId に当たるレコードに関連付けられているフォルダに配置されます。レコード固有のフォルダが存在していない場合は作成されます。 |
accessToken | string | 省略可 - accessToken が送信された場合は、Box APIコールにその値が使用されます。そうでない場合は、デフォルトアカウントの資格情報が使用されます。 |
戻り値:
string
。作成されたBoxファイルのIDが返されます。- エラーが発生した場合は
null
。この場合には、mostRecentError
を確認してください。
getObjectFolderByRecordId
パラメータ | 型 | 説明 |
---|---|---|
recordId | id | ルートフォルダIDを取得する必要があるSalesforceレコードのID。 |
戻 り値:
string
。レコードIDが渡されたオブジェクトルートフォルダのBoxフォルダIDが返されます。
フォルダ操作
getRootFolderId
パラメータ:
- なし
戻り値:
string
。SalesforceルートフォルダのBoxフォルダIDが返されます。
getObjectFolderByRecordId
パラメータ | 型 | 説明 |
---|---|---|
recordId | id | ルートフォルダIDを取得する必要があるSalesforceレコードのID。 |
戻り値:
string
。レコードIDが渡されたオブジェクトルートフォルダのBoxフォルダIDが返されます。
getFolderUrl
- このメソッドは、特定のレコードの埋め込みウィジェットURLを取得します。このため、必要に応じて独自の埋め込みロジックを使用できます。
- このメソッドではシームレスログインの設定が優先されます。このため、シームレスログインが有効になっている場合、ユーザーはURLに自動的にログインされます。
パラメータ | 型 | 説明 |
---|---|---|
recordId | id | ルー トフォルダIDを取得する必要があるSalesforceレコードのID。 |
isMobileContext | boolean | URLがモバイル (true) か、それ以外 (false) かを示すブール値。 |
戻り値:
string
。渡されたSalesforceレコードIDに関連付けられているフォルダを表すURLが返されます。このURLをBox埋め込みウィジェットで使用して、任意のVisualforceページに埋め込むことができます。
createObjectFolderForRecordId
パラメータ | 型 | 説明 |
---|---|---|
recordId | id | ルートフォルダIDを取得する必要があるSalesforceレコードのID。 |
戻り値:
string
。作成されたルートフォルダのBoxフォルダIDが返されます。- ルートフォルダがすでに存在していた場合、そのルートフォルダのBoxフォルダIDが返されます。
createFolder
パラメータ | 型 | 説明 |
---|---|---|
folderName | string | 作成するフォルダの名前。フォルダ名には制限があります。詳細はこちらを参照してください。 |
parentFolderId | string | このフォルダが作成される親Boxフォルダ。 |
accessToken | string | 省略可 - accessToken が送信された場合は、Box APIコールにその値が使用されます。そうでない場合は、デフォルトのサービスアカウントの資格情報が使用されます。 |
戻り値:
string
。作成されたフォルダのBoxフォルダIDが返されます。- フォルダが作成されなかった場合は
null
が返されます。この場合、mostRecentError
で詳細を確認してください。
createFolderForRecordId
パラメータ | 型 | 説明 |
---|---|---|
recordId | id | Boxフォルダの作成に使用されるSalesforceレコードID。 |
folderNameOverride | string | デフォルトでは、レコード名がフォルダ名になります。別の名前を付ける場合は、ここでその値を送信します。 |
optCreateRootFolder | boolean | オブジェクトのルートフォルダが存在しない場合に、それを作成するかどうかを示すブール値。falseを送信した場合、ルートフォルダが存在しないと呼び出しは失敗します。 |
戻り値:
string
。作成されたフォルダのBoxフォルダIDが返されます。- フォルダが作成されなかった場合は
null
が返されます。この場合、mostRecentError
で詳細を確認してください。 - SalesforceレコードがすでにBoxフォルダに関連付け られている場合、既存のBoxフォルダIDが返されます。
moveFolder
パラメータ | 型 | 説明 |
---|---|---|
folderId | string | 移動するフォルダのBoxフォルダID。 |
newParentFolderId | string | 新しい親フォルダになるフォルダのBoxフォルダID。 |
accessToken | string | 省略可 - accessToken を送信すると、その値がBox APIコールに使用されます。そうでない場合、デフォルトのサービスアカウント資格情報が使用されます。 |
戻り値:
- フォルダが正常に移動された場合は
true
。 - フォルダが正常に移動されなかった場合は
false
。mostRecentError
で詳細を確認してください。
getUrlForFolder
パラメータ | 型 | 説明 |
---|---|---|
recordId | id | レコードのID。 |
戻り値:
- 指定されたURLを含む
pageReference
オブジェクト。 - パラメータが正しくない場合は
null
。
createFolderForRecordIdFromTemplate
パラメータ | 型 | 説明 |
---|---|---|
recordId | id | SalesforceレコードID。 |
templateFolderId | string | テンプレートにするソースフォルダ。 |
folderNameOverride | string | 新しいフォルダの名前の上書き。 |
optCreateRootFolder | boolean | ルートフォルダが存在しない場合に作成するかどうかを決定するフラグ。 |
戻り値:
- 新しく作成された
folder Id
。 - パラメータが正しくない場合は
null
。
フォルダ関連付けメソッド
getFolderAssociationsByRecordId
パラメータ | 型 | 説明 |
---|---|---|
recordId | id | 返されるフォルダマッピングエントリが関連付けられるSalesforceレコードID。 |
戻り値:
- 返されるリストは、このレコードに関連付けられているすべてのフォルダマッピングエントリのコレクションです。
- 一般に、フォルダマッピングエントリが存在しない場合は空のリストになりますが、状況によって
null
になる場合があります。
getFolderIdByRecordId
パラメータ | 型 | 説明 |
---|---|---|
recordId | id | フォルダIDを取得するSalesforceレコードID。 |
戻り値:
string
。渡されたSalesforceレコードIDに関連付けられたBoxフォルダIDが返されます。
getRecordIdByFolderId
パラメータ | 型 | 説明 |
---|---|---|
folderId | string | BoxフォルダID。 |
戻り値:
id
。渡されたBoxフォルダIDに関連付けられたSalesforceレコードIDが返されます。
createFolderAssociation
パラメータ | 型 | 説明 |
---|---|---|
recordId | id | Boxフォルダに関連付けるSalesforceレコードID。 |
folderId | string | Salesforceレコードに関連付けるBoxフォルダID。 |
戻り値:
box__FRUP__c
オブジェクト - エラーが発生した場合 (mostRecentError
を確認)、返されるFRUPオブジェクトはnull
になります。このFRUPエントリは、commitChanges
メソッドの呼び出し時にデータベースに挿入されます。このメソッドでは、同じフォルダの複数レコードへの関連付けやその逆の関連付けが許可されないため、他のフォルダの関連付けとの一貫性が保証されます。
コラボレーションメソッド
createCollaboration
パラメータ | 型 | 説明 |
---|---|---|
folderId | string | コラボレーションを作成するBoxフォルダのID。 |
boxUserId | string | コラボレーションするBoxユーザーのID (boxUserId またはemailAddress のどちらか一方のみ必要)。 |
emailAddress | box.Toolkit.CollaborationType | Boxユーザーのメールアドレス。 |
collabType | string | コラボレーションのタイプ (CollaborationType 列挙型の定義を参照)。 |
accessToken | string | 省略可 - 送信した場合、この値はBox APIコールの認証に使用されます。null の場合、サービスアカウントの資格情報が使用されます。 |
戻り値:
string
。作成されたBoxコラボレーションのIDが返されます。- エラーが発生した場合は
null
が返されます。その場合、mostRecentError
を確認してください。
createCollaborationOnRecord
パラメータ | 型 | 説明 |
---|---|---|
userId | id | コラボレーションするSalesforceユーザーID。 |
recordId | id | コラボレーションするレコードフォルダのSalesforceレコードID。 |
collabType | box.Toolkit.CollaborationType | コラボレーションのタイプ (CollaborationType 列挙型の定義を参照)。 |
optCreateFolder | boolean | SalesforceレコードIDに関連付けられたBoxフォルダがまだ存在しない場合に、それを作成するかどうかを示すブール値。ルートフォルダが存在しない場合は、ルートフォルダも作成されます。false に設定した場合、フォルダがまだ存在しないと呼び出しが失敗します。 |
戻り値:
string
。作成されたBoxコラボレーションのIDが返されます。- エラーが発生した場合 は
null
が返されます。その場合、mostRecentError
を確認してください。
editCollaboration
パラメータ | 型 | 説明 |
---|---|---|
collabId | string | コラボレーションID |
collabType | enum | Box.Toolkit.CollaborationType 列挙型 |
accessToken | string |
戻り値:
- トランザクションが成功したかどうかを示すブール値。
- パラメータが正しくない場合は
false
。
deleteCollaboration
パラメータ | 型 | 説明 |
---|---|---|
collabId | string | コラボレーションID |
accessToken | string |
戻り値:
- トランザクションが成功したかどうかを示すブール値。
- パラメータが正しくない場合は
false
。
メタデータ
getBoxMetadataByFolderId
このメソッドでは、フォルダのメタデータインスタンスを取得エンドポイントを呼び出します。
パラメータ | 型 | 説明 |
---|---|---|
folderId | string | メタデータを作成するBoxフォルダのID。 |
scope | string | メタデータテンプレートのスコープ。値は[global, enterprise] のいずれかです。 |
template_key | string | メタデータテンプレートの名前。 |
戻り値:
- このフォルダ、スコープ、およびテンプレートキーに関連付けられた
FolderMetadata
レコード。カスタム値は、このオブジェクトのkeyValuePairs
変数で確認できます。 - 以下の場合は
null
。- パラメータが正しくない
- フォルダへのアクセス権限がない
- メタデータカスケードポリシーが見つからない
createBoxMetadataByFolderId
このメソッドでは、フォルダにメタデータインスタンスを作成エンドポイントを呼び出します。
パラメータ | 型 | 説明 |
---|---|---|
folderId | string | メタデータを作成するBoxフォルダのID。 |
scope | string | メタデータテンプレートのスコープ。値は [global 、enterprise ][global , enterprise ] のいずれかです。 |
template_key | string | メタデータテンプレートの名前。 |
keyValuePairs | List<KeyValuePair> | このクラスはマップとして機能します。Boxメタデータに送信する属性のキー/値ペアをリストとして指定します。キー/値のマッピングはAPIと同じパターンに従います。数値型'3000' および'Customer;Order' などの複数選択値は、コードサンプルに見られる通常のメタデータ値と同様に、value フィールドで文字列入力として表されます。 |
戻り値:
- 新しく作成された
FolderMetadata
オブジェクト。 - 以下の場合は
null
。- パラメータが正しくない
- フォルダへのアクセス権限がない
- メタデータカスケードポリシーが見つからない
updateBoxMetadataByFolderId
フォルダのメタデータインスタンスを更新エンドポイントを呼び出します。
パラメータ | 型 | 説明 |
---|---|---|
folderId | string | メタデータを更新するBoxフォルダのID。 |
scope | string | メタデータテンプレートのスコープ。値は[global 、enterprise ][global , enterprise ]のいずれかです。 |
template_key | string | メタデータテンプレートの名前。 |
mdUpdates | List<FolderMetadataUpdate> | メタデータの更新。操作、パス、および値を指定します。メタデータの更新レコードは、APIと同じパターンに従います。数値型 (3000 ) およびCustomer;Order などの複数選択値は、コードサンプルにおける通常のメタデータ値と同様に、value フィールドで文字列入力として表されます。 |
戻り値:
- 更新された
FolderMetadata
オブジェクト。 - 以下の場合は
null
。- パラメータが正しくない
- フォルダへのアクセス権限がない
- メタデータカスケードポリシーが見つからない
deleteBoxMetadataFolderId
このメソッドでは、フォルダからメタデータインスタンスを削除エンドポイントを呼び出します。
パラメータ | 型 | 説明 |
---|---|---|
folderId | string | メタデータを更新するBoxフォルダのID。 |
scope | string | メタデータテンプレートのスコープ。値は[global 、enterprise ][global , enterprise ]のいずれかです。 |
template_key | string | メタデータテンプレートの名前。 |
戻り値:
- トランザクションが成功したかどうかを示すブール値。
- パラメータが誤ったパラメータである場合またはメタデータが見つからない場合は、
false
が返されることがあります。
getMetadataCascadePolicyById
このメソッドでは、フォルダからメタデータカスケードポリシーを取得エンドポイントを呼び出します。このメソッドはIDを必要とするため、最初にgetMetadataCascadePoliciesByFolderId
メソッドを呼び出す必要があります。
パラメータ | 型 | 説明 |
---|---|---|
policyId | string | 取得するカスケードポリシーのID。 |
戻り値:
- Boxから取得された
MetadataCascadePolicy
オブジェクト。 - 以下の場合は
null
。- パラメータが正しくない
- フォルダへのアクセス権限がない
- メタデータカスケードポリシーが見つからな い
getMetadataCascadePoliciesByFolderId
このメソッドでは、フォルダIDを指定し、メタデータカスケードポリシーを取得エンドポイントを呼び出すことで、カスケードポリシーを取得します。
パラメータ | 型 | 説明 | 必須 |
---|---|---|---|
folderId | string | どのフォルダのポリシーを返すかを指定します。これは、IDが0のルートフォルダでは使用できません。 | はい |
paginationMarker | string | 結果が返される開始位置のマーカー。マーカーベースのページ割りに使用されます。 | いいえ |
Offset | integer | レスポンスが開始される項目のオフセット。 | いいえ |
ownerEnterpriseId | string | メタデータカスケードポリシーを検索するEnterprise ID。指定されていない場合は、デフォルトで現在のEnterpriseに設定されます。 | いいえ |
戻り値:
- Boxから取得された
MetadataCascadePolicy
オブジェクトのリスト。 - 以下の場合は
null
。- パラメータが正しくない
- フォルダへのアクセス権限がない
- メタデータカスケードポリシーが見つからない
createMetadataCascadePolicy
このメソッドでは、BoxフォルダID、スコープ、テンプレートキーを指定し、メタデータカスケードポリシーを投稿エンドポイントを呼び出すことで、カスケードポリシーを作成します。
パラメータ | 型 | 説明 |
---|---|---|
folderId | string | メタデータカスケードポリシーを作成するBoxフォルダのID。 |
scope | string | メタデータカスケードポリシーのスコープ。値は [global 、enterprise ][global , enterprise ] のいずれかです。 |
template_key | string | テンプレートキーの名前。 |
戻り値:
- 新しく生成された
MetadataCascadePolicy
。 - 以下の場合は
null
。- パラメータが正しくない
- フォルダへのアクセス権限がない
- メタデータカスケードポリシーの詳細が見つからない
deleteMetadataCascadePolicy
このメソッドでは、カスケードポリシーIDを指定し、メタデータカスケードポリシーIDを削除エンドポイントを呼び出すことで、カスケードポリシーを削除します。
パラメータ | 型 | 説明 |
---|---|---|
policyId | string | 削除するカスケードポリシーのID。 |
戻り値:
- トランザクションが成功したかどうかを示すブール値。
- パラメータが正しくない場合、フォルダへのアクセス権限がない場合、またはメタデータカスケードポリシーが見つからない場合は、
false
が返されます。
enableAppActivity
このメソッドでは、アプリアクティビティに指定されたフォルダにメタデータを適用してカスケードすることで、そのフォルダを有効にします。
パラメータ | 型 | 説明 |
---|---|---|
folderId | string | メタデータを削除するBoxフォルダのID。 |
戻り値:
- トランザクションが成功したかどうかを示すブール値。
- パラメータが正しくない場合は
false
。
SalesforceとSlack
getIntegrationMappings
このツールキットのメソッドでは、統合マッピングを取得エンドポイントを呼び出して既存のマッピングを取得します。
パラメータ | 型 | 説明 |
---|---|---|
integration | String | Slack は、現在唯一サポートされている値です。 |
partnerItemId | String | 指定された統合側でマッピングされている項目のID。例: SlackチャンネルID。 |
戻り値:
IntegrationMapping
オブジェクトのリスト。- パラメータが正しくない場合、アクセス権限がない場合、または統合マッピングが見つからない場合は、
null
が返されます。
createIntegrationMapping
このツールキットのメソッドでは、統合マッピングを取得エンドポイントを呼び出してマッピングを作成します。
パラメータ | 型 | 説明 |
---|---|---|
integration | String | Slack は、現在唯一サポートされている値です。 |
mapping | IntegrationMapping | Apex定義タイプIntegrationMapping 。 |
戻り値:
- トランザクションが成功したかどうかを示すブール値。
deleteIntegrationMapping
このツールキットのメソッドでは、統合マッピングを削除エンドポイントを呼び出してマッピングを削除します。
パラメータ | 型 | 説明 |
---|---|---|
integration | String | Slack は、現在唯一サポートされている値です。 |
integrationMappingId | String | getIntegrationMappings から取得されます。 |
戻り値:
- トランザクションが成功したかどうかを示すブール値。
mapSfdcRecordToSlackChannel
このツールキットのメソッドでは、上記の統合マッピングメソッドを使用し、以下の4種類のユースケースで使用できるラッパーを提供します。
- SalesforceまたはSlackにマッピングが存在しない場合は、Box for Salesforceフォルダ構造にフォルダが作成され、そのフォルダをSlackチャンネルとリンクするための統合マッピングが作成されます。
- Salesforceからのマッピングのみ存在する場合は、引き続きそのフォルダが使用され、場所は変更されません。そのフォルダをSlackチャンネルとリンクするための統合マッピングを作成します。
- Slackからのマッピングのみ存在する場合は、引き続きそのフォルダが使用され、既存のフォルダを使用するためにSalesforceレコード用にFRUPレコードが作成されます。このフォルダは、Salesforceルートフォルダ外に存在する可能性があります。
- SalesforceとSlackに既存のマッピングがあるものの、相互に関連付けられていない場合は、
Toolkit.mostRecentError
またはフローアクション内でエラーがスローされ、マッピングがすでに存在することが示されます。
このメソッド/呼び出し可能なアクションは、Box for SalesforceパッケージのCreate Box Folder/Slack Channel Mapping
で提供されるフローテンプレートで使用されています。
パラメータ | 型 | 説明 |
---|---|---|
recordId | ID | SalesforceレコードID。 |
slackChanneld | String | |
slackWorkspaceOrOrgId | String | Box for Slackが組織全体でインストールされている場合は、オーガナイゼーションID (E1234567など) またはワークスペースID (T5555555など) を指定します。 |
戻り値:
- トランザクションが成功したかどうかを示すブール値。
setSlackChannelAccessManagementDisabled
このツールキットのメソッドでは、統合マッピングを更新エンドポイントを呼び出して、アクセス管理の非アクティブ化設定を更新します。
このメソッド/呼び出し可能なアクションは、Box for SalesforceパッケージのCreate Box Folder/Slack Channel Mapping
で提供されるフローテンプレートで使用されています。
パラメータ | 型 | 説明 |
---|---|---|
channelId | String | |
disabled | Boolean | 基になるBox項目に対するチャンネルメンバーのアクセスを自動で管理する必要があるかどうかを示します。チャンネルのタイプによっては、アクセスがコラボレーションまたは共有リンクの作成により管理されます。 |
戻り値:
- トランザクションが成功したかどうかを示すブール値。