SalesforceメタデータAPI:PermissionSetのFieldPermissionsを更新すると、他のオブジェクトの他のFieldPermissionsがリセットされます
Nov 26 2020
メタデータAPIバージョン50.0では、PermissionSetのFieldPermissionsを更新すると、同じPermissionSetの他のFieldPermissionsがリセットされます。
updateMetatdata呼び出しは、バージョン30.0で正しく機能しました。動作が変更されたバージョンがわかりません。
<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tns="http://soap.sforce.com/2006/04/metadata" xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ins0="http://soap.sforce.com/2006/04/metadata">
<env:Header>
<ins0:SessionHeader>
<ins0:sessionId>XXX</ins0:sessionId>
</ins0:SessionHeader>
</env:Header>
<env:Body>
<ins0:updateMetadata>
<ins0:metadata xsi:type="ins0:PermissionSet">
<tns:fieldPermissions>
<tns:field>Receipt__c.Notes__c</tns:field>
<tns:editable>true</tns:editable>
<tns:readable>true</tns:readable></tns:fieldPermissions>
<ins0:fullName>JasminePermissionSet</ins0:fullName>
<tns:label>JasminePermissionSet</tns:label>
</ins0:metadata>
</ins0:updateMetadata>
</env:Body>
</env:Envelope>
私は何かが足りないのですか?
回答
1 sfdcfox Nov 25 2020 at 23:50
これはバージョン40.0で変更され、明らかに電子メールで開発者に送信されました。以前、2017年に質問があったときに回答しました。権限セットの内容を取得し、新しい権限を設定する必要があります。この変更は、ロック解除されたパッケージに関する権限セットの管理を容易にするために行われました。古い動作が必要な場合は、APIバージョン39.0以下を使用してください。これは、新しい動作を予測するためにコード/ロジックを更新する際の一時的な解決策として意図されています。