メソッドと操作

メソッドと操作

ツールキットの詳細

クラス名: box.Toolkit

インスタンス変数

mostRecentError

インスタンスメソッドの呼び出し時に発生した最新のエラーを示す文字列。

この文字列が存在しても、操作が成功しなかったことを意味するわけではありません。そのエラーが回復可能であった可能性もあります。ただし、この文字列に値がない場合は、操作が成功したことを示しています。

Enum CollaborationType

コラボレーションのタイプを示す列挙型。

可能性のある値: EDITORVIEWERPREVIEWERUPLOADERCOOWNEROWNERPREVIEWERUPLOADERVIEWERUPLOADER

静的メソッド

deleteServiceUserAssociation

サービスアカウントとBox for Salesforce統合の関連付けをクリアするメソッド。間違ったサービスアカウントが使用されている場合、このメソッドを使用してアカウントを変更できます。

パラメータ:

  • なし

戻り値:

  • ユーザーのアカウントが存在していたが削除された場合はtrue
  • ユーザーのアカウントが何らかの理由 (存在しなかった場合を含む) で削除されなかった場合はfalse

deleteUserAssociation

パラメータ説明
userIdid資格情報がクリアされるユーザーのID。

戻り値:

  • ユーザーのアカウントが存在していたが削除された場合はtrue
  • ユーザーのアカウントが何らかの理由 (存在しなかった場合を含む) で削除されなかった場合はfalse

インスタンスメソッド (コンストラクタ/デストラクタ)

box.Toolkit()

パラメータ:

  • なし

commitChanges

このメソッドはbox.Toolkit()メソッドのデストラクタとして扱います。

このメソッドは重要です。すべてのフォルダ/コラボレーション操作が完了した後、毎回、例外なくこのメソッドを呼び出す必要があります。

Salesforceではデータベースの更新/挿入/削除の後の呼び出しは許可されないため、Toolkitクラスではすべての呼び出し操作が完了した後で挿入するオブジェクトのコレクションが保持されます。このメソッドを呼び出さない場合、このようなオブジェクトがデータベースから消去され、ユーザー/レコード/フォルダの関連付けを追跡するテーブルの同期も失われて、高度なデバッグによる修正が必要になります。

パラメータ:

  • なし

戻り値:

  • Void

ジェネリックメソッド

Box for Salesforce Developer Toolkitは、パラメータとしてHttpRequestオブジェクトを受け取り、HttpResponseオブジェクトを返すグローバルメソッドを提供します。このメソッドではサービスアカウントの認証の詳細情報を利用してBoxのAPIを呼び出すため、開発者は統合のビジネスロジックに集中して取り組むことができます。

sendRequest

パラメータ説明
requestHttpRequestエンドポイントとメソッドが設定されたHttpRequestオブジェクト。

戻り値:

  • BoxのAPI呼び出しからのレスポンスの詳細情報が含まれたHttpResponseオブジェクト。
  • HttpRequestのインプットの情報が不足している場合はToolkit.BoxApiException
  • サービスアカウントの認証の詳細情報を取得する際に問題が発生した場合はnull。この場合は、mostRecentErrorを確認してください。

ファイル操作

createFileFromAttachment

バージョン3.46以降で使用可能です。

Salesforceの文字列長の上限は600万文字です。base64エンコード/デコードプロセスでは文字列が膨張するため、有効なファイルサイズの上限は、同期Apexの場合は4.3MB、非同期Apexの場合は8.6MBとなっています。

パラメータ説明
attAttachmentBox内のファイルに変換される添付ファイル。
fileNameOverridestring省略可 - 新しいファイルの名前。値が渡されなかった場合、添付ファイルの名前が使用されます。
folderIdOverridestring省略可 - この添付ファイルの配置先であるBoxフォルダID。値が渡されなかった場合、ファイルは添付ファイルのparentIdに当たるレコードに関連付けられているフォルダに配置されます。レコード固有のフォルダが存在していない場合は作成されます。
accessTokenstring省略可 - accessTokenが送信された場合は、Box API呼び出しにその値が使用されます。そうでない場合は、デフォルトアカウントの資格情報が使用されます。

戻り値:

  • string。作成されたBoxファイルのIDが返されます。
  • エラーが発生した場合はnull。この場合には、mostRecentErrorを確認してください。

getObjectFolderByRecordId

パラメータ説明
recordIdidルートフォルダIDを取得する必要があるSalesforceレコードのID。

戻り値:

  • string。レコードIDが渡されたオブジェクトルートフォルダのBoxフォルダIDが返されます。

フォルダ操作

getRootFolderId

パラメータ:

  • なし

戻り値:

  • string。SalesforceルートフォルダのBoxフォルダIDが返されます。

getObjectFolderByRecordId

パラメータ説明
recordIdidルートフォルダIDを取得する必要があるSalesforceレコードのID。

戻り値:

  • string。レコードIDが渡されたオブジェクトルートフォルダのBoxフォルダIDが返されます。

getFolderUrl

  • このメソッドは、特定のレコードの埋め込みウィジェットURLを取得します。このため、必要に応じて独自の埋め込みロジックを使用できます。
  • このメソッドではシームレスログインの設定が優先されます。このため、シームレスログインが有効になっている場合、ユーザーはURLに自動的にログインされます。
パラメータ説明
recordIdidルートフォルダIDを取得する必要があるSalesforceレコードのID。
isMobileContextbooleanURLがモバイル (true) か、それ以外 (false) かを示すブール値。

戻り値:

  • string。渡されたSalesforceレコードIDに関連付けられているフォルダを表すURLが返されます。このURLをBox埋め込みウィジェットで使用して、任意のVisualforceページに埋め込むことができます。

createObjectFolderForRecordId

パラメータ説明
recordIdidルートフォルダIDを取得する必要があるSalesforceレコードのID。

戻り値:

  • string。作成されたルートフォルダのBoxフォルダIDが返されます。
  • ルートフォルダがすでに存在していた場合、そのルートフォルダのBoxフォルダIDが返されます。

createFolder

パラメータ説明
folderNamestring作成するフォルダの名前。フォルダ名には制限があります。詳細はこちらを参照してください。
parentFolderIdstringこのフォルダが作成される親Boxフォルダ。
accessTokenstring省略可 - accessTokenが送信された場合は、Box API呼び出しにその値が使用されます。そうでない場合は、デフォルトのサービスアカウントの資格情報が使用されます。

戻り値:

  • string。作成されたフォルダのBoxフォルダIDが返されます。
  • フォルダが作成されなかった場合はnullが返されます。この場合、mostRecentErrorで詳細を確認してください。

createFolderForRecordId

パラメータ説明
recordIdidBoxフォルダの作成に使用されるSalesforceレコードID。
folderNameOverridestringデフォルトでは、レコード名がフォルダ名になります。別の名前を付ける場合は、ここでその値を送信します。
optCreateRootFolderbooleanオブジェクトのルートフォルダが存在しない場合に、それを作成するかどうかを示すブール値。falseを送信した場合、ルートフォルダが存在しないと呼び出しは失敗します。

戻り値:

  • string。作成されたフォルダのBoxフォルダIDが返されます。
  • フォルダが作成されなかった場合はnullが返されます。この場合、mostRecentErrorで詳細を確認してください。
  • SalesforceレコードがすでにBoxフォルダに関連付けられている場合、既存のBoxフォルダIDが返されます。

moveFolder

パラメータ説明
folderIdstring移動するフォルダのBoxフォルダID。
newParentFolderIdstring新しい親フォルダになるフォルダのBoxフォルダID。
accessTokenstring省略可 - accessTokenを送信すると、その値がBox API呼び出しに使用されます。そうでない場合、デフォルトのサービスアカウント資格情報が使用されます。

戻り値:

  • フォルダが正常に移動された場合はtrue
  • フォルダが正常に移動されなかった場合はfalsemostRecentErrorで詳細を確認してください。

フォルダ関連付けメソッド

getFolderAssociationsByRecordId

パラメータ説明
recordIdid返されるフォルダマッピングエントリが関連付けられるSalesforceレコードID。

戻り値:

  • 返されるリストは、このレコードに関連付けられているすべてのフォルダマッピングエントリのコレクションです。
  • 一般に、フォルダマッピングエントリが存在しない場合は空のリストになりますが、状況によってnullになる場合があります。

getFolderIdByRecordId

パラメータ説明
recordIdidフォルダIDを取得するSalesforceレコードID。

戻り値:

  • string。渡されたSalesforceレコードIDに関連付けられたBoxフォルダIDが返されます。

getRecordIdByFolderId

パラメータ説明
folderIdstringBoxフォルダID。

戻り値:

  • id。渡されたBoxフォルダIDに関連付けられたSalesforceレコードIDが返されます。

createFolderAssociation

パラメータ説明
recordIdidBoxフォルダに関連付けるSalesforceレコードID。
folderIdstringSalesforceレコードに関連付けるBoxフォルダID。

戻り値:

  • box__FRUP__cオブジェクト - エラーが発生した場合 (mostRecentErrorを確認)、返されるFRUPオブジェクトはnullになります。このFRUPエントリは、commitChangesメソッドの呼び出し時にデータベースに挿入されます。このメソッドでは、同じフォルダの複数レコードへの関連付けやその逆の関連付けが許可されないため、他のフォルダの関連付けとの一貫性が保証されます。

コラボレーションメソッド

Box for Salesforce Developer Toolkitによって作成されたコラボレーションは、コラボレータにコラボレーションメールを送信しません。Box for Salesforce統合に使用されるサービスアカウントのみがコラボレーションメールを受け取ります。

createCollaboration

パラメータ説明
folderIdstringコラボレーションを作成するBoxフォルダのID。
boxUserIdstringコラボレーションするBoxユーザーのID (boxUserIdまたはemailAddressのどちらか一方のみ必要)。
emailAddressbox.Toolkit.CollaborationTypeBoxユーザーのメールアドレス。
collabTypestringコラボレーションのタイプ (CollaborationType列挙型の定義を参照)。
accessTokenstring省略可 - 送信した場合、この値はBox API呼び出しの認証に使用されます。nullの場合、サービスアカウントの資格情報が使用されます。

戻り値:

  • string。作成されたBoxコラボレーションのIDが返されます。
  • エラーが発生した場合はnullが返されます。その場合、mostRecentErrorを確認してください。

createCollaborationOnRecord

パラメータ説明
userIdidコラボレーションするSalesforceユーザーID。
recordIdidコラボレーションするレコードフォルダのSalesforceレコードID。
collabTypebox.Toolkit.CollaborationTypeコラボレーションのタイプ (CollaborationType列挙型の定義を参照)。
optCreateFolderbooleanSalesforceレコードIDに関連付けられたBoxフォルダがまだ存在しない場合に、それを作成するかどうかを示すブール値。ルートフォルダが存在しない場合は、ルートフォルダも作成されます。falseに設定した場合、フォルダがまだ存在しないと呼び出しが失敗します。

戻り値:

  • string。作成されたBoxコラボレーションのIDが返されます。
  • エラーが発生した場合はnullが返されます。その場合、mostRecentErrorを確認してください。