सेल्सफोर्स मेटाडेटा एपीआई: फील्डस्पैन को परमिशनसेट पर अपडेट करते समय, अन्य ऑब्जेक्ट पर अन्य फील्डपीयर रीसेट हो जाते हैं

Nov 26 2020

मेटाडेटा एपीआई संस्करण 50.0 पर, जब मैं एक अनुमति पर फ़ील्डपीन्स को अपडेट करता हूं, तो एक ही परमिशनसेट पर अन्य फील्डपैन रीसेट हो जाते हैं।

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 में इसका उत्तर दिया था जब हमारे पास इसके बारे में एक प्रश्न था । आपको एक परमिशन सेट की सामग्री को पुनः प्राप्त करना होगा और किसी भी नई अनुमतियों को सेट करना होगा। अनलॉक्ड पैकेज के संबंध में अनुमति सेटों को प्रबंधित करना आसान बनाने के लिए यह बदलाव किया गया था। यदि आप पुराना व्यवहार चाहते हैं, तो एपीआई संस्करण 39.0 या उससे कम का उपयोग करें। जब आप नए व्यवहार का अनुमान लगाने के लिए अपने कोड / तर्क को अपडेट करते हैं तो यह स्टॉपगैप समाधान के रूप में होता है।