इसके माध्यम से साझा किया गया


पोर्टल्स वेब API का उपयोग कर क्वेरी डेटा

नोट

12 अक्टूबर 2022 से प्रभावी, Power Apps पोर्टल Power Pages है। अधिक जानकारी: Microsoft Power Pages अब आम तौर पर उपलब्ध है (ब्लॉग)
हम जल्द ही Power Apps पोर्टल दस्तावेज़ीकरण को Power Pages दस्तावेज़ीकरण के साथ माइग्रेट और विलय करेंगे।

आप पोर्टल मेंउपलब्ध वेब API ऑपरेशन का उपयोग कर सकते हैं. वेब API संचालन में HTTP अनुरोध और प्रतिक्रियाएँ होती हैं. यह आलेख नमूना रीड ऑपरेशन, विधियों, URI और नमूना JSON दिखाता है जिसका आप HTTP अनुरोध में उपयोग कर सकते हैं.

पूर्वावश्यकताएँ

  • आपका पोर्टल संस्करण 9.4.1.x या उच्चतर होना चाहिए.

  • वेब API संचालन के लिए तालिका और फ़ील्ड सक्षम करें. अधिक जानकारी: वेब API के लिए साइट सेटिंग्स

  • पोर्टल्स Web API तालिका रिकॉर्ड को एक्सेस करता है और संबद्ध वेब भूमिकाओं के माध्यम से उपयोगकर्ताओं को दी गईं तालिका अनुमतियों का अनुसरण करता है. सुनिश्चित करें कि आप सही तालिका अनुमतियों को कॉन्फ़िगर करते हैं. अधिक जानकारी: वेब भूमिकाएँ बनाएँ

नोट

अपने कोड में पोर्टल्स वेब API का उपयोग करते हुए Dataverse तालिकाओं का संदर्भ देते समय, आपको EntitySetName का उपयोग करने की आवश्यकता होती है, उदाहरण के लिए खाता तालिका तक पहुँचने के लिए, कोड सिंटैक्स खाते के EntitySetName का उपयोग करेगा.

क्वेरी रिकॉर्ड

निम्न उदाहरण खाता रिकॉर्ड को सूचीबद्ध करता है:

कार्रवाई विधि URI
तालिका रिकॉर्ड पुनर्प्राप्त करें प्राप्त करें [Portal URI]/_api/accounts

उदाहरण:
https://contoso.powerappsportals.com/_api/accounts

नमूना प्रत्युत्तर

{
"value": [
    {
    "@odata.etag": "W/\"1066412\"",
    "name": "Fourth Coffee (sample)",
    "accountid": "d2e11ba8-92f6-eb11-94ef-000d3a5aa607"
    },
    {
    "@odata.etag": "W/\"1066413\"",
    "name": "Litware, Inc. (sample)",
    "accountid": "d4e11ba8-92f6-eb11-94ef-000d3a5aa607"
    }
]
}

पहले तीन खातों के लिए नाम गुण वापस करने के लिए $select और $top सिस्टम क्वेरी विकल्पों का उपयोग करें:

कार्रवाई विधि URI
पहले तीन निकाय रिकॉर्ड पुनर्प्राप्त करें प्राप्त करें [Portal URI]/_api/accounts?$select=name,revenue&$top=3

उदाहरण:
https://contoso.powerappsportals.com/_api/accounts?$select=name,revenue&$top=3

खाता आईडी का उपयोग करके खाता पुनर्प्राप्त करें:

कार्रवाई विधि URI
रिकॉर्ड के लिए विशिष्ट गुण पुनर्प्राप्त करें प्राप्त करें [Portal URI]/_api/accounts(e0e11ba8-92f6-eb11-94ef-000d3a5aa607)?$select=name

उदाहरण:
https://contoso.powerappsportals.com/_api/accounts(e0e11ba8-92f6-eb11-94ef-000d3a5aa607)?$select=name

नमूना प्रत्युत्तर

{
    "@odata.etag": "W/\"1066414\"",
    "name": "Adventure Works (sample)",
    "accountid": "d6e11ba8-92f6-eb11-94ef-000d3a5aa607"
}

सिस्टम क्वेरी विकल्प लागू करें

निकाय सेट के URL में आपके द्वारा जोड़े जाने वाले प्रत्येक सिस्टम क्वेरी विकल्प को क्वेरी स्ट्रिंग्स के सिंटैक्स का उपयोग करके जोड़ा जाता है. पहला [?] के बाद जोड़ा जाता है और बाद के क्वेरी विकल्पों को [&] का उपयोग करके अलग किया जाता है. सभी क्वेरी विकल्प केस-संवेदी होते हैं जैसा कि निम्नलिखित उदाहरण में दिखाया गया है:

विधि URI
प्राप्त करें [Portal URI]/_api/accounts?$select=name,revenue&$filter=revenue gt 90000&$top=3

उदाहरण:
https://contoso.powerappsportals.com/_api/accounts?$select=name,revenue&$filter=revenue gt 90000&$top=3

विशिष्ट गुणों का अनुरोध करें

निम्नलिखित उदाहरण में दिखाए गए गुणों को सीमित करने के लिए $select सिस्टम क्वेरी विकल्प का उपयोग करें:

विधि URI
प्राप्त करें [Portal URI]/_api/accounts?$select=name,revenue&$top=3

उदाहरण:
https://contoso.powerappsportals.com/_api/accounts?$select=name,revenue&$top=3

महत्वपूर्ण

यह प्रदर्शन के लिए सर्वोत्तम अभ्यास है. यदि गुण निर्दिष्ट नहीं हैं और आपने Webapi/<table name>/fields साइट सेटिंग मान को * पर कॉन्फ़िगर किया है, तो $select का उपयोग करके सभी गुणों को वापस कर दिया जाएगा. यदि कोई गुण निर्दिष्ट नहीं है, तो एक त्रुटि लौटा दी जाएगी.

परिणाम फ़िल्टर करें

किन पंक्तियों के लिए मानदंड निर्धारित करने के लिए $filter सिस्टम क्वेरी विकल्प का उपयोग करें।

मानक फ़िल्टर ऑपरेटर्स

वेब API निम्न तालिका में सूचीबद्ध मानक OData फ़िल्टर ऑपरेटरों का समर्थन करता है:

ऑपरेटर मात्रा उदाहरण
तुलना ऑपरेटर्स
eq बराबर $filter=revenue eq 100000
ne बराबर नहीं $filter=revenue ne 100000
gt इससे अधिक $filter=revenue gt 100000
ge इससे बड़ा या इसके बराबर $filter=revenue ge 100000
lt इससे कम $filter=revenue lt 100000
le इससे कम या इसके बराबर $filter=revenue le 100000
तार्किक ऑपरेटर्स
AND तार्किक और $filter=revenue lt 100000 और revenue gt 2000
or तार्किक या $filter=में शामिल है(name,'(sample)') या इसमें शामिल है(name,'test')
नहीं तार्किक निषेध $filter = शामिल नहीं है (name,'sample')
समूहीकरण ऑपरेटर्स
( ) वरीयता समूहीकरण (शामिल है(name,'sample') या शामिल है(name,'test')) और आय gt 5000

मानक क्वेरी फ़ंक्शन

वेब API इन मानक OData स्ट्रिंग क्वेरी फ़ंक्शंस का समर्थन करता है:

फ़ंक्शन उदाहरण
शामिल है $filter = शामिल है (name,'(sample)')
endswith $filter=endswith(name,'Inc.')
इससे प्रारंभ होता है $filter=startswith(name,'a')

Dataverse क्वेरी फ़ंक्शन

वेब API परिणामों को फ़िल्टर करने के लिए Dataverse क्वेरी फ़ंक्शन का समर्थन करता है. अधिक जानकारी के लिए, वेब API क्वेरी फ़ंक्शन संदर्भ देखें.

परिणाम क्रमित करें

उस क्रम को निर्दिष्ट करें जिसमें  $orderby सिस्टम क्वेरी विकल्प का उपयोग करके आइटम लौटाए जाते हैं। क्रमशः आरोही या अवरोही क्रम निर्दिष्ट करने के लिए asc या desc प्रत्यय का उपयोग करें। यदि प्रत्यय लागू नहीं होता है, तो डिफ़ॉल्ट आरोही होता है. निम्नलिखित उदाहरण से पता चलता है कि आरोही आय और अवरोही नाम के आधार पर खातों के नाम और आय गुणों को पुनः प्राप्त करना.

विधि URI
प्राप्त करें [Portal URI]/_api/accounts?$select=name,revenue&$orderby=name asc,revenue desc&$filter=revenue gt 90000

उदाहरण:
https://contoso.powerappsportals.com/_api/accounts?$select=name,revenue&$orderby=name asc,revenue desc&$filter=revenue gt 90000

एकीकृत और समूहीकरण परिणाम

 $apply, का उपयोग करके आप अपने डेटा को गतिशील रूप से एकत्र और समूहित कर सकते हैं जैसा कि निम्नलिखित उदाहरणों में देखा गया है:

परिदृश्य उदाहरण
क्वेरी में अद्वितीय स्थितियों की सूची accounts?$apply=groupby((statuscode))
अनुमानित मान का एकीकृत योग opportunities?$apply=aggregate(कुल योग के साथ estimatedvalue)
अनुमानित मूल्य और स्थिति के आधार पर सौदे का औसत आकार opportunities?$apply=groupby((statuscode),aggregate(averagevalue के रूप में औसत के साथ estimatedvalue)
स्थिति के आधार पर अनुमानित मूल्य का योग opportunities?$apply=groupby((statuscode),aggregate(कुल के रूप में योग के साथ estimatedvalue)
खाते के नाम से कुल अवसर आय opportunities?$apply=groupby((parentaccountid/name),aggregate(कुल के रूप में योग के साथ estimatedvalue))
'WA' में खातों के लिए प्राथमिक संपर्क नाम accounts?$apply=filter(address1_stateorprovince eq 'WA')/groupby((primarycontactid/fullname))
पिछली बार बनाए गए रिकॉर्ड की तिथि और समय account?$apply=aggregate(createdon के साथ lastCreate के रूप में)
पहली बार रिकॉर्ड बनाए जाने की तिथि और समय account?$apply=aggregate(firstCreate के रूप में न्यूनतम के साथ createdon)

पंक्तियों की संख्या प्राप्त करें

5,000 तक फ़िल्टर मानदंड से मेल खाने वाली इकाइयों की संख्या शामिल करने के लिए $count true के मान के साथ सिस्टम क्वेरी विकल्प का उपयोग करें।

विधि URI
प्राप्त करें [Portal URI/_api/accounts?$select=name&$filter=contains(name,'sample')&$count=true

उदाहरण:
https://contoso.powerappsportals.com/_api/accounts?$select=name&$filter=contains(name,'sample')&$count=true

नमूना प्रत्युत्तर

{
"@odata.count": 10,
"value": [
    {
    "@odata.etag": "W/\"1066412\"",
    "name": "Fourth Coffee (sample)",
    "accountid": "d2e11ba8-92f6-eb11-94ef-000d3a5aa607"
    },
    {
    "@odata.etag": "W/\"1066413\"",
    "name": "Litware, Inc. (sample)",
    "accountid": "d4e11ba8-92f6-eb11-94ef-000d3a5aa607"
    },
    {
    "@odata.etag": "W/\"1066414\"",
    "name": "Adventure Works (sample)",
    "accountid": "d6e11ba8-92f6-eb11-94ef-000d3a5aa607"
    }
]
}

यदि आप गिनती के अलावा कोई भी डेटा वापस नहीं करना चाहते हैं, तो आप मूल्य प्राप्त करने के लिए किसी भी संग्रह में $count लागू कर सकते हैं।

विधि URI
प्राप्त करें [Portal URI/_api/accounts/$count

उदाहरण:
https://contoso.powerappsportals.com/_api/accounts/$count

नमूना प्रत्युत्तर

3

कॉलम तुलना

निम्न उदाहरण दिखाता है कि वेब API का उपयोग करके कॉलम की तुलना कैसे करें:

विधि URI
GET [Portal URI]/_api/contacts?$select=firstname&$filter=firstname eq lastname

उदाहरण:
https://contoso.powerappsportals.com/_api/contacts?$select=firstname&$filter=firstname eq lastname

क्वेरी के साथ संबंधित तालिका रिकॉर्ड पुनर्प्राप्त करें

नेविगेशन गुणों में  $expand सिस्टम क्वेरी विकल्प का उपयोग यह नियंत्रित करने के लिए करें कि संबंधित निकायों से कौन सा डेटा लौटाया जाए.

संबद्ध नेविगेशन गुण का लुकअप

आपको $expand क्वेरी विकल्प का उपयोग करते समय Microsoft.Dynamics.CRM.associatednavigationproperty का लुकअप गुण के रूप में उपयोग करने की आवश्यकता होगी.

किसी गुण का Microsoft.Dynamics.CRM.associatednavigationproperty निर्धारित करने के लिए, आप निम्न नामकरण पद्धति का उपयोग करके कॉलम के लिए निम्न http GET अनुरोध कर सकते हैं: _name_value.

निम्नलिखित उदाहरण में, हम निम्न अनुरोध में नाम स्वरूपित करके primarycontactid कॉलम नाम निर्दिष्ट करके खाता तालिका के प्राथमिक संपर्क के संबद्ध नेविगेशन गुण का निर्धारण कर सकते हैं: _primarycontactid_value.

विधि URI
GET [Portal URI]/_api/accounts?$select=_primarycontactid_value

उदाहरण
https://contoso.powerappsportals.com/_api/accounts?$select=_primarycontactid_value

नमूना प्रत्युत्तर

{
"value": [
    {
        "@odata.etag": "W/\"2465216\"",
        "_primarycontactid_value@OData.Community.Display.V1.FormattedValue": "Yvonne McKay (sample)",
        "_primarycontactid_value@Microsoft.Dynamics.CRM.associatednavigationproperty": "primarycontactid",
        "_primarycontactid_value@Microsoft.Dynamics.CRM.lookuplogicalname": "contact",
        "_primarycontactid_value": "417319b5-cd18-ed11-b83c-000d3af4d812",
        "accountid": "2d7319b5-cd18-ed11-b83c-000d3af4d812"
    }
]
}

हम प्रतिक्रिया से देखते हैं कि संबंधित नेविगेशन गुण primarycontactid है. तालिका कैसे बनाई गई थी इसके आधार पर, संबद्ध नेविगेशन गुण या तो लुकअप कॉलम का तार्किक नाम या स्कीमा नाम हो सकता है.

अधिक जानकारी के लिए लुकअप गुणों के बारे में डेटा पुनर्प्राप्त करें देखें.

एकल-मान वाले नेविगेशन गुणों का विस्तार करके संबंधित तालिका रिकॉर्ड पुनर्प्राप्त करें

निम्न उदाहरण दिखाता है कि सभी खाता रिकॉर्ड के लिए संपर्क कैसे प्राप्त किया जाए. संबंधित संपर्क रिकॉर्ड के लिए, हम केवल contactid और fullname को पुनः प्राप्त कर रहे हैं.

विधि URI
GET [Portal URI]/_api/accounts?$select=name&$expand=primarycontactid($select=contactid,fullname)

उदाहरण:
https://contoso.powerappsportals.com/_api/accounts?$select=name&$expand=primarycontactid($select=contactid,fullname)

नमूना प्रत्युत्तर

{
"value": [
    {
    "@odata.etag": "W/\"1066412\"",
    "name": "Fourth Coffee (sample)",
    "accountid": "d2e11ba8-92f6-eb11-94ef-000d3a5aa607",
        "primarycontactid": {
        "contactid": "e6e11ba8-92f6-eb11-94ef-000d3a5aa607",
        "fullname": "Yvonne McKay (sample)"
        }
    },
    {
    "@odata.etag": "W/\"1066413\"",
    "name": "Litware, Inc. (sample)",
    "accountid": "d4e11ba8-92f6-eb11-94ef-000d3a5aa607",
        "primarycontactid": {
        "contactid": "e8e11ba8-92f6-eb11-94ef-000d3a5aa607",
        "fullname": "Susanna Stubberod (sample)"
        }
    }
]
}

संग्रह-मान वाले नेविगेशन गुणों का विस्तार करके संबंधित तालिका पुनर्प्राप्त करें

यदि आप निकाय सेट के लिए संबंधित तालिकाओं को पुनः प्राप्त करने के लिए संग्रह-मान वाले नेविगेशन पैरामीटर पर विस्तार करते हैं, तो डेटा होने पर केवल एक स्तर की गहराई लौटाई जाती है. अन्यथा, संग्रह एक खाली सरणी लौटाएगा.

विधि URI
प्राप्त करें [Portal URI]/_api/accounts?$top=5&$select=name&$expand=Account_Tasks($select=subject,scheduledstart)

उदाहरण:
https://contoso.powerappsportals.com/_api/accounts?$top=5&$select=name&$expand=Account_Tasks($select=subject,scheduledstart)

एकल और संग्रह-मान वाले, दोनों नेविगेशन गुणों का विस्तार करके संबंधित तालिका पुनर्प्राप्त करें

निम्न उदाहरण दर्शाता है कि आप एकल और संग्रह-मूल्यवान नेविगेशन गुणों दोनों का उपयोग करके निकाय सेट के लिए संबंधित निकायों का विस्तार कैसे कर सकते हैं. आपको अपने कोड के सिंटैक्स में तालिका संबंध नाम निर्दिष्ट करने की आवश्यकता होगी.

विधि URI
प्राप्त करें [Portal URI]/_api/accounts?$top=5&$select=name&$expand=primarycontactid($select=contactid,fullname),Account_Tasks($select=subject,scheduledstart)

उदाहरण:
https://contoso.powerappsportals.com/_api/accounts?$top=5&$select=name&$expand=primarycontactid($select=contactid,fullname),Account_Tasks($select=subject,scheduledstart)

अगला कदम

पोर्टल वेब API का उपयोग करके संचालन लिखते हैं, अपडेट करते हैं और हटाते हैं

भी देखें

पोर्टल वेब API अवलोकन
ट्यूटोरियल: पोर्टल वेब API का उपयोग करें
स्तंभ अनुमतियाँ कॉन्फ़िगर करें

नोट

क्या आप हमें अपनी दस्तावेज़ीकरण भाषा वरीयताओं के बारे में बता सकते हैं? एक छोटा सर्वेक्षण पूरा करें. (कृपया ध्यान दें कि यह सर्वेक्षण अंग्रेज़ी में है)

सर्वेक्षण में लगभग सात मिनट लगेंगे. कोई भी व्यक्तिगत डेटा एकत्र नहीं किया जाता है (गोपनीयता कथन).