[SF] サイトでレコードを保存する際にハマったメモ
Salesforceにて、サイトで公開しているページでオブジェクトにデータを挿入出来ずにハマったのでメモ。
権限
サイトで使用される権限は、設定した各サイト別にユーザが作られ、そのプロファイルで変更が可能。
作成したカスタムオブジェクトはデフォルトでは作成権限はないため、権限を与えてやる必要がある。
そのプロファイルへアクセスするには…、
設定から、クイック検索に サイト
と入力。
表示されるメニューから、サイト
をクリック。
サイト一覧から変更したいサイトの「表示ラベル」をクリック。
詳細が表示されるので、「公開アクセス設定」をクリック。
ここから通常のプロファイルと同じように権限を変更してやることが可能。
オブジェクトへのアクセス権限を編集したい場合は、「オブジェクト設定」から変更してやる。
ここから設定したいオブジェクトを選択し、オブジェクト権限、や、項目権限、を与えてやればよい。
エラー
しかし、上記の手順で、作成、権限を与えているにも関わらず、下記のエラーが出た。
DML operation INSERT not allowed on YOUROBJECT__c
オブジェクトの設定
色々確認していると、オブジェクトを公開していなかったから、だった。
カスタムオブジェクトの項目で、オブジェクトのリリース状況
という設定があるのだが、これが開発中
になっていたため、外部扱いとなるサイトからはインサートが出来なかったよう。
これをリリース済み
に変更すると、無事、インサートが可能となった。