[SF] サイトでレコードを保存する際にハマったメモ

Salesforceにて、サイトで公開しているページでオブジェクトにデータを挿入出来ずにハマったのでメモ。

権限

サイトで使用される権限は、設定した各サイト別にユーザが作られ、そのプロファイルで変更が可能。
作成したカスタムオブジェクトはデフォルトでは作成権限はないため、権限を与えてやる必要がある。

Force.com サイトのゲストユーザラインセンス

そのプロファイルへアクセスするには…、

設定から、クイック検索に サイト と入力。
表示されるメニューから、サイト をクリック。

サイト一覧から変更したいサイトの「表示ラベル」をクリック。
詳細が表示されるので、「公開アクセス設定」をクリック。

ここから通常のプロファイルと同じように権限を変更してやることが可能。
オブジェクトへのアクセス権限を編集したい場合は、「オブジェクト設定」から変更してやる。

ここから設定したいオブジェクトを選択し、オブジェクト権限、や、項目権限、を与えてやればよい。

エラー

しかし、上記の手順で、作成、権限を与えているにも関わらず、下記のエラーが出た。

DML operation INSERT not allowed on YOUROBJECT__c

オブジェクトの設定

色々確認していると、オブジェクトを公開していなかったから、だった。

カスタムオブジェクトの項目で、オブジェクトのリリース状況という設定があるのだが、これが開発中になっていたため、外部扱いとなるサイトからはインサートが出来なかったよう。

これをリリース済みに変更すると、無事、インサートが可能となった。

   このエントリーをはてなブックマークに追加