AccountShare
Account の共有エントリを表します。
サポートされているコール
describeSObjects()、create()、delete()、query()、retrieve()、update()、upsert()
項目
一部の項目で使用可能なプロパティは、組織でデフォルトとなっている共有設定によって異なります。一覧表示されているプロパティは、それらの項目のデフォルト設定の場合に該当します。
| 項目 | 詳細 |
|---|---|
| AccountAccessLevel |
|
| AccountId |
|
| CaseAccessLevel |
|
| ContactAccessLevel |
|
| IsDeleted |
|
| OpportunityAccessLevel |
|
| RowCause |
|
| UserOrGroupId |
|
使用方法
このオブジェクトを使用して、他のユーザが所有する Account レコードを参照および編集できるユーザやグループを指定できます。
既存のレコードに一致する AccountShare レコードを作成すると、要求は、変更された項目を更新し、既存のレコードを返します。
たとえば、次のコードは、ユーザが所有するすべての取引先を検索し、ポータルユーザに対してそれらの取引先の共有を直接設定します。
1QueryResult result = conn.query("SELECT Id FROM Account WHERE OwnerId = '005D0000001LPFB'");
2// Create a new AccountShare object
3List<AccountShare> shares = new ArrayList<AccountShare>();
4for (SObject rec : result.getRecords()) {
5 AccountShare share = new AccountShare();
6 share.setAccountId(rec.getId());
7 //Set the portal user Id to share the accounts with
8 share.setUserOrGroupId("003D000000QA8Tl");
9 share.setAccountAccessLevel("Edit");
10 share.setOpportunityAccessLevel("Read");
11 share.setCaseAccessLevel("Edit");
12 shares.add(share);
13}
14conn.create(shares.toArray(new AccountShare[shares.size()]));このコードは、ある時点でユーザが所有する取引先を共有しますが、その後所有することになった取引先は共有しません。このような共有では、AccountOwnerSharingRule のような所有者ベースの共有ルールを使用します。