次の方法で共有


Web API の基本的な操作のサンプル

このサンプル コード スニペットのコレクションは、Microsoft Dataverse Web API を使用して基本的な CRUD (作成、取得、更新、および削除) と連想操作を実行する方法を示しています。 これらの言語固有のバージョンでは、同じ操作が実装されます。

この記事では、このグループの各サンプル スニペットによって実装される一般的な一連の操作について説明します。 この記事では、各サンプルが言語固有の詳細なしで実行する HTTP 要求と応答およびテキスト出力について説明します。 これらの操作を実行する方法に関する詳細については、言語特有の説明および個別のサンプルを参照してください。

対象

このサンプルは、Dataverse Web API 操作を含む次のセクションに分かれています。この操作については、関連する指定された概念に関する記事で詳しく説明します。

コード セクション 関連する概念に関する記事
セクション 1: 基本的な作成と更新の操作 基本的な作成
基本的な更新
セクション 2: 関連付けを使用して作成する 作成時にテーブル行を関連付ける
セクション 3: 関連するテーブル行を作成する (ディープ 挿入) 関連するテーブル行を 1 回の操作で作成する
セクション 4: 既存のテーブル行の関連付けと関連付けの解除 Web API を使用してテーブル行の関連付けと関連付けを解除する
セクション 5: テーブル行の削除 (サンプル クリーンアップ) 基本的な削除

簡潔にするために、関連の少ない HTTP ヘッダーは省略されます。 レコードの URL は、基本組織のアドレスと、Dataverse サーバーによって割り当てられた行の ID によって異なります。

セクション 1: 基本的な作成と更新の操作

このセクションでは、1 つの連絡先を作成し、そのインスタンスに対して一連の更新を実行します。 応答ヘッダー OData-EntityId には、この新しく作成された行の URL が含まれています。この行には、このレコードの一意の ID がかっこで囲まれて含まれます。

  1. Rael Shillo という名前の新しい連絡先を作成します。

    要求:

    POST [Organization Uri]/api/data/v9.2/contacts HTTP/1.1
    OData-MaxVersion: 4.0
    OData-Version: 4.0
    If-None-Match: null
    Accept: application/json
    
    {
     "firstname": "Rafel",
     "lastname": "Shillo"
    }
    

    応答:

    HTTP/1.1 204 NoContent
    OData-Version: 4.0
    OData-EntityId: [Organization Uri]/api/data/v9.2/contacts(00aa00aa-bb11-cc22-dd33-44ee44ee44ee)
    

    コンソール出力:

    Contact URI: [Organization Uri]/api/data/v9.2/contacts(00aa00aa-bb11-cc22-dd33-44ee44ee44ee)
    Contact relative Uri: contacts(00aa00aa-bb11-cc22-dd33-44ee44ee44ee)
    

    各型で使用できるプロパティは、メタデータ ドキュメント内で定義され、 Web API Entity Type Reference セクションの各型に対しても文書化されます。 一般的な情報については、 Web API の種類と操作に関するページを参照してください。

  2. 年収 ($80,000) と役職 (ジュニア デベロッパー) の値で連絡先を更新します。

    要求:

    PATCH [Organization Uri]/api/data/v9.2/contacts(00aa00aa-bb11-cc22-dd33-44ee44ee44ee) HTTP/1.1
    If-Match: *
    OData-MaxVersion: 4.0
    OData-Version: 4.0
    If-None-Match: null
    Accept: application/json
    
    {
     "annualincome": 80000,
     "jobtitle": "Junior Developer"
    }
    

    応答:

    HTTP/1.1 204 NoContent
    OData-Version: 4.0
    OData-EntityId: [Organization Uri]/api/data/v9.2/contacts(00aa00aa-bb11-cc22-dd33-44ee44ee44ee)
    

    コンソール出力:

    Contact 'Rafel Shillo' updated with jobtitle and annual income
    
  3. 明示的に初期化されたプロパティのセットを持つ連絡先を取得します。 fullnameは、インスタンスの作成時に明示的に初期化されたfirstnameプロパティとlastname プロパティから計算される読み取り専用プロパティです。 これに対し、 description プロパティは明示的に初期化されていないため、既定値である null 文字列が保持されます。

    要求された値と一般的なヘッダーに加えて、応答は次の種類の追加情報も自動的に返します。

    • 現在のテーブルの種類のプライマリ ID(ここでは contactid
    • 要求されたリソースの特定のバージョンを識別する、 キーで示される @odata.etag 値。 詳細については、「 Web API を使用した条件付き操作の実行」を参照してください。
    • @odata.context キーで示されるメタデータ コンテキストは、クエリ結果を比較して、同じクエリから取得されたかどうかを判断する方法を提供します。
    • 通貨トランザクションの現地通貨を示す _transactioncurrencyid_value

    要求:

    GET [Organization Uri]/api/data/v9.2/contacts(00aa00aa-bb11-cc22-dd33-44ee44ee44ee)?$select=fullname,annualincome,jobtitle,description HTTP/1.1
    Prefer: odata.include-annotations="*"
    OData-MaxVersion: 4.0
    OData-Version: 4.0
    If-None-Match: null
    Accept: application/json
    

    応答:

    HTTP/1.1 200 OK
    ETag: W/"72935648"
    OData-Version: 4.0
    Preference-Applied: odata.include-annotations="*"
    
    {
     "@odata.context": "[Organization Uri]/api/data/v9.2/$metadata#contacts(fullname,annualincome,jobtitle,description)/$entity",
     "@odata.etag": "W/\"72935648\"",
     "fullname": "Rafel Shillo",
     "annualincome@OData.Community.Display.V1.FormattedValue": "$80,000.00",
     "annualincome": 80000.0,
     "jobtitle": "Junior Developer",
     "description": null,
     "_transactioncurrencyid_value@OData.Community.Display.V1.FormattedValue": "US Dollar",
     "_transactioncurrencyid_value@Microsoft.Dynamics.CRM.associatednavigationproperty": "transactioncurrencyid",
     "_transactioncurrencyid_value@Microsoft.Dynamics.CRM.lookuplogicalname": "transactioncurrency",
     "_transactioncurrencyid_value": "228f42f8-e646-e111-8eb7-78e7d162ced1",
     "contactid": "00aa00aa-bb11-cc22-dd33-44ee44ee44ee"
    }
    

    コンソール出力:

    Contact 'Rafel Shillo' retrieved:
           Annual income: $80,000.00
           Job title: Junior Developer
           Description:
    

    Important

    パフォーマンスを最適化するには、常に取得操作で選択とフィルター処理を使用する必要があります。 詳細については、「 Web API を使用したデータのクエリ」を参照してください。

  4. これらの同じプロパティに新しい値を指定して、連絡先インスタンスを更新します。

    要求:

    PATCH [Organization Uri]/api/data/v9.2/contacts(00aa00aa-bb11-cc22-dd33-44ee44ee44ee) HTTP/1.1
    If-Match: *
    OData-MaxVersion: 4.0
    OData-Version: 4.0
    If-None-Match: null
    Accept: application/json
    
    {
     "jobtitle": "Senior Developer",
     "annualincome": 95000,
     "description": "Assignment to-be-determined"
    }
    

    応答:

    HTTP/1.1 204 NoContent
    OData-Version: 4.0
    OData-EntityId: [Organization Uri]/api/data/v9.2/contacts(00aa00aa-bb11-cc22-dd33-44ee44ee44ee)
    

    コンソール出力:

    Contact 'Rafel Shillo' updated:
           Job title: Senior Developer
           Annual income: 95000
           Description: Assignment to-be-determined
    

    Important

    更新要求で変更されたプロパティのみを送信します。 詳細については、「 基本的な更新プログラム」を参照してください。

  5. 1 つのプロパティ (プライマリ電話番号) を明示的に設定します。 これは PUT 要求であり、個々のプロパティに対して操作を実行するときに value という名前の JSON キーが使用されることに注意してください。

    要求:

    PUT [Organization Uri]/api/data/v9.2/contacts(00aa00aa-bb11-cc22-dd33-44ee44ee44ee)/telephone1 HTTP/1.1
    OData-MaxVersion: 4.0
    OData-Version: 4.0
    If-None-Match: null
    Accept: application/json
    
    {
     "value": "555-0105"
    }
    

    応答:

    HTTP/1.1 204 NoContent
    OData-Version: 4.0
    

    コンソール出力:

    Contact 'Rafel Shillo' phone number updated.
    
  6. 同じ単一のプロパティ (プライマリ電話番号) を取得します。 ここでも、 valueという名前のキーの使用に注意してください。

    要求:

    GET [Organization Uri]/api/data/v9.2/contacts(00aa00aa-bb11-cc22-dd33-44ee44ee44ee)/telephone1 HTTP/1.1
    OData-MaxVersion: 4.0
    OData-Version: 4.0
    If-None-Match: null
    Accept: application/json
    

    応答:

    HTTP/1.1 200 OK
    OData-Version: 4.0
    
    {
     "@odata.context": "[Organization Uri]/api/data/v9.2/$metadata#contacts(00aa00aa-bb11-cc22-dd33-44ee44ee44ee)/telephone1",
     "value": "555-0105"
    }
    

    コンソール出力:

    Contact's telephone # is: 555-0105.  
    

セクション 2: 関連付けを使用して作成する

このセクションでは、Contoso, Ltd.という名前の新しい取引先企業レコードを作成し、Rafel Shillo で作成した既存の連絡先 () に関連付けます。 この作成と関連付けは、1 回の POST 操作で実行されます。

  1. Contoso, Ltd. アカウントを作成し、その主要な連絡先属性を既存の連絡先Rafel Shilloに設定します。 @odata.bind注釈は、関連付けが作成されていることを示します。ここでは、primarycontactidの単一値ナビゲーション プロパティを既存の連絡先であるRafel Shilloにバインドします。

    要求:

    POST [Organization Uri]/api/data/v9.2/accounts HTTP/1.1
    OData-MaxVersion: 4.0
    OData-Version: 4.0
    If-None-Match: null
    Accept: application/json
    
    {
     "name": "Contoso Ltd",
     "telephone1": "555-5555",
     "primarycontactid@odata.bind": "contacts(00aa00aa-bb11-cc22-dd33-44ee44ee44ee)"
    }
    

    応答:

    HTTP/1.1 204 NoContent
    OData-Version: 4.0
    OData-EntityId: [Organization Uri]/api/data/v9.2/accounts(11bb11bb-cc22-dd33-ee44-55ff55ff55ff)
    

    コンソール出力:

    Account 'Contoso Ltd' created.
    Account URI: accounts(11bb11bb-cc22-dd33-ee44-55ff55ff55ff)
    
  2. $expandの単一値ナビゲーション プロパティと共にprimarycontactidを使用して、関連付けられている連絡先 EntityType レコードにアクセスして、Contoso, Ltd. アカウントのプライマリ連絡先を再度取得します。

    要求:

    GET [Organization Uri]/api/data/v9.2/accounts(11bb11bb-cc22-dd33-ee44-55ff55ff55ff)?$select=name,&$expand=primarycontactid($select=fullname,jobtitle,annualincome) HTTP/1.1
    Prefer: odata.include-annotations="*"
    OData-MaxVersion: 4.0
    OData-Version: 4.0
    If-None-Match: null
    Accept: application/json
    

    応答:

    HTTP/1.1 200 OK
    ETag: W/"72935670"
    OData-Version: 4.0
    Preference-Applied: odata.include-annotations="*"
    
    {
     "@odata.context": "[Organization Uri]/api/data/v9.2/$metadata#accounts(name,primarycontactid(fullname,jobtitle,annualincome))/$entity",
     "@odata.etag": "W/\"72935670\"",
     "name": "Contoso Ltd",
     "accountid": "11bb11bb-cc22-dd33-ee44-55ff55ff55ff",
     "primarycontactid": {
       "@odata.etag": "W/\"72935663\"",
       "fullname": "Rafel Shillo",
       "jobtitle": "Senior Developer",
       "annualincome@OData.Community.Display.V1.FormattedValue": "$95,000.00",
       "annualincome": 95000.0,
       "_transactioncurrencyid_value@OData.Community.Display.V1.FormattedValue": "US Dollar",
       "_transactioncurrencyid_value@Microsoft.Dynamics.CRM.associatednavigationproperty": "transactioncurrencyid",
       "_transactioncurrencyid_value@Microsoft.Dynamics.CRM.lookuplogicalname": "transactioncurrency",
       "_transactioncurrencyid_value": "228f42f8-e646-e111-8eb7-78e7d162ced1",
       "contactid": "00aa00aa-bb11-cc22-dd33-44ee44ee44ee"
     }
    }
    

    コンソール出力:

    Account 'Contoso Ltd' has primary contact 'Rafel Shillo':
           Job title: Senior Developer
           Annual income: $95,000.00
    

このセクションでは、1 つの POST 要求でテーブル行と関連する行を作成する方法について説明します。 このメソッドを使用すると、すべての行が新しく作成されます。関連付ける既存の行はありません。 この方法には 2 つの利点があります。 複数の単純な作成操作と関連付け操作を 1 つの結合操作に置き換えると、より効率的になります。 また、アトミックです。操作全体が成功し、関連するすべてのオブジェクトが作成されるか、操作が失敗して作成されません。

このセクションでは、1 つの要求で、アカウント、その主要連絡先、およびその連絡先の一連のタスクを作成します。

  1. 1 回の操作で、アカウント Fourth Coffee とその主要な連絡先 Susie Curtis とその 3 つの関連タスクを作成します。 これらのリレーションシップを定義するには、単一値のprimarycontactidナビゲーション プロパティと、コレクション値のナビゲーション プロパティContact_Tasksを使用している点に注意してください。 単一値ナビゲーション プロパティはオブジェクト値を受け取りますが、コレクション値ナビゲーション プロパティは配列値を受け取ります。

    要求:

    POST [Organization Uri]/api/data/v9.2/accounts HTTP/1.1
    OData-MaxVersion: 4.0
    OData-Version: 4.0
    If-None-Match: null
    Accept: application/json
    
    {
     "name": "Fourth Coffee",
     "primarycontactid": {
       "firstname": "Susie",
       "lastname": "Curtis",
       "jobtitle": "Coffee Master",
       "annualincome": 48000,
       "Contact_Tasks": [
         {
           "subject": "Sign invoice",
           "description": "Invoice #12321",
           "scheduledstart": "2023-04-19T03:00:00+07:00",
           "scheduledend": "2023-04-19T04:00:00+07:00",
           "scheduleddurationminutes": 60
         },
         {
           "subject": "Setup new display",
           "description": "Theme is - Spring is in the air",
           "scheduledstart": "2023-04-20T03:00:00+07:00",
           "scheduledend": "2023-04-20T04:00:00+07:00",
           "scheduleddurationminutes": 60
         },
         {
           "subject": "Conduct training",
           "description": "Train team on making our new blended coffee",
           "scheduledstart": "2023-04-21T03:00:00+07:00",
           "scheduledend": "2023-04-21T04:00:00+07:00",
           "scheduleddurationminutes": 60
         }
       ]
     }
    }
    

    応答:

    HTTP/1.1 204 NoContent
    OData-Version: 4.0
    OData-EntityId: [Organization Uri]/api/data/v9.2/accounts(22cc22cc-dd33-ee44-ff55-66aa66aa66aa)
    

    コンソール出力:

    Account 'Fourth Coffee  created.
    
  2. 新しく作成された Fourth Coffee アカウントとその主要連絡先を選択的に取得します。 拡張は、単一値ナビゲーション プロパティ primarycontactidに対して実行されます。

    要求:

    GET [Organization Uri]/api/data/v9.2/accounts(22cc22cc-dd33-ee44-ff55-66aa66aa66aa)?$select=name&$expand=primarycontactid($select=fullname,jobtitle,annualincome) HTTP/1.1
    Prefer: odata.include-annotations="*"
    OData-MaxVersion: 4.0
    OData-Version: 4.0
    If-None-Match: null
    Accept: application/json
    

    応答:

    HTTP/1.1 200 OK
    ETag: W/"72935710"
    OData-Version: 4.0
    Preference-Applied: odata.include-annotations="*"
    
    {
     "@odata.context": "[Organization Uri]/api/data/v9.2/$metadata#accounts(name,primarycontactid(fullname,jobtitle,annualincome))/$entity",
     "@odata.etag": "W/\"72935710\"",
     "name": "Fourth Coffee",
     "accountid": "22cc22cc-dd33-ee44-ff55-66aa66aa66aa",
     "primarycontactid": {
       "@odata.etag": "W/\"72935689\"",
       "fullname": "Susie Curtis",
       "jobtitle": "Coffee Master",
       "annualincome@OData.Community.Display.V1.FormattedValue": "$48,000.00",
       "annualincome": 48000.0,
       "_transactioncurrencyid_value@OData.Community.Display.V1.FormattedValue": "US Dollar",
       "_transactioncurrencyid_value@Microsoft.Dynamics.CRM.associatednavigationproperty": "transactioncurrencyid",
       "_transactioncurrencyid_value@Microsoft.Dynamics.CRM.lookuplogicalname": "transactioncurrency",
       "_transactioncurrencyid_value": "228f42f8-e646-e111-8eb7-78e7d162ced1",
       "contactid": "2f28bcb4-bb27-ed11-9db1-002248274ada"
     }
    }
    

    コンソール出力:

    Account 'Fourth Coffee' has primary contact 'Susie Curtis':
           Job title: Coffee Master
           Annual income: $48,000.00
    
  3. 前の操作で取得したプライマリ連絡先に関連付けられているタスクを選択的に取得します。 展開は、コレクション値ナビゲーション プロパティ Contact_Tasksに対して実行されます。

    要求:

    GET [Organization Uri]/api/data/v9.2/contacts(2f28bcb4-bb27-ed11-9db1-002248274ada)?$select=fullname&$expand=Contact_Tasks($select=subject,description,scheduledstart,scheduledend) HTTP/1.1
    Prefer: odata.include-annotations="*"
    OData-MaxVersion: 4.0
    OData-Version: 4.0
    If-None-Match: null
    Accept: application/json
    

    応答:

    HTTP/1.1 200 OK
    ETag: W/"72935689"
    OData-Version: 4.0
    Preference-Applied: odata.include-annotations="*"
    
    {
     "@odata.context": "[Organization Uri]/api/data/v9.2/$metadata#contacts(fullname,Contact_Tasks(subject,description,scheduledstart,scheduledend))/$entity",
     "@odata.etag": "W/\"72935689\"",
     "fullname": "Susie Curtis",
     "contactid": "2f28bcb4-bb27-ed11-9db1-002248274ada",
     "Contact_Tasks": [
       {
         "@odata.etag": "W/\"72935719\"",
         "subject": "Sign invoice",
         "description": "Invoice #12321",
         "scheduledstart@OData.Community.Display.V1.FormattedValue": "4/18/2023 1:00 PM",
         "scheduledstart": "2023-04-18T20:00:00Z",
         "scheduledend@OData.Community.Display.V1.FormattedValue": "4/18/2023 2:00 PM",
         "scheduledend": "2023-04-18T21:00:00Z",
         "activityid": "3028bcb4-bb27-ed11-9db1-002248274ada"
       },
       {
         "@odata.etag": "W/\"72935723\"",
         "subject": "Setup new display",
         "description": "Theme is - Spring is in the air",
         "scheduledstart@OData.Community.Display.V1.FormattedValue": "4/19/2023 1:00 PM",
         "scheduledstart": "2023-04-19T20:00:00Z",
         "scheduledend@OData.Community.Display.V1.FormattedValue": "4/19/2023 2:00 PM",
         "scheduledend": "2023-04-19T21:00:00Z",
         "activityid": "3128bcb4-bb27-ed11-9db1-002248274ada"
       },
       {
         "@odata.etag": "W/\"72935727\"",
         "subject": "Conduct training",
         "description": "Train team on making our new blended coffee",
         "scheduledstart@OData.Community.Display.V1.FormattedValue": "4/20/2023 1:00 PM",
         "scheduledstart": "2023-04-20T20:00:00Z",
         "scheduledend@OData.Community.Display.V1.FormattedValue": "4/20/2023 2:00 PM",
         "scheduledend": "2023-04-20T21:00:00Z",
         "activityid": "3228bcb4-bb27-ed11-9db1-002248274ada"
       }
     ]
    }
    

    コンソール出力:

    Contact 'Susie Curtis' has the following assigned tasks:
    Subject: Sign invoice,
           Description: Invoice #12321
           Start: 4/18/2023 1:00 PM
           End: 4/18/2023 2:00 PM
    
    Subject: Setup new display,
           Description: Theme is - Spring is in the air
           Start: 4/19/2023 1:00 PM
           End: 4/19/2023 2:00 PM
    
    Subject: Conduct training,
           Description: Train team on making our new blended coffee
           Start: 4/20/2023 1:00 PM
           End: 4/20/2023 2:00 PM 
    

セクション 4: 既存のエンティティの関連付けと関連付けの解除

このセクションでは、既存のテーブル行を関連付けて関連付けを解除する方法について説明します。 関連付けを形成するには、参照 URI とリレーションシップ オブジェクトを使用する必要があります。このオブジェクトは POST 要求で送信されます。 関連付けを解除するには、その関連付けの参照 URI に DELETE 要求を送信する必要があります。 最初に、連絡先とアカウントの間に一対多の関連付けが形成されます。 その後、競合他社と 1 つ以上のオポチュニティの間に多対多の関連付けが形成されます。

  1. contact_customer_accountsコレクション値ナビゲーション プロパティを使用して、アカウント Fourth Coffee に連絡先としてRael Shilloを追加します。 特殊なキー @odata.id を使用して、関連付けられているレコードを指定します。

    要求:

    POST [Organization Uri]/api/data/v9.2/accounts(22cc22cc-dd33-ee44-ff55-66aa66aa66aa)/contact_customer_accounts/$ref HTTP/1.1
    OData-MaxVersion: 4.0
    OData-Version: 4.0
    If-None-Match: null
    Accept: application/json
    
    {
     "@odata.id": "[Organization Uri]/api/data/v9.2/contacts(00aa00aa-bb11-cc22-dd33-44ee44ee44ee)"
    }
    

    応答:

    HTTP/1.1 204 NoContent
    OData-Version: 4.0
    
  2. アカウント Fourth Coffee の連絡先のコレクションを取得して、前の操作を確認します。 応答には、1 つの要素(最近割り当てられた連絡先Rafel Shillo)を含む配列が含まれています。

    要求:

    GET [Organization Uri]/api/data/v9.2/accounts(22cc22cc-dd33-ee44-ff55-66aa66aa66aa)/contact_customer_accounts?$select=fullname,jobtitle HTTP/1.1
    OData-MaxVersion: 4.0
    OData-Version: 4.0
    If-None-Match: null
    Accept: application/json
    

    応答:

    HTTP/1.1 200 OK
    OData-Version: 4.0
    
    {
     "@odata.context": "[Organization Uri]/api/data/v9.2/$metadata#contacts(fullname,jobtitle)",
     "value": [
       {
         "@odata.etag": "W/\"72935741\"",
         "fullname": "Rafel Shillo",
         "jobtitle": "Senior Developer",
         "contactid": "00aa00aa-bb11-cc22-dd33-44ee44ee44ee"
       }
     ]
    }
    

    コンソール出力:

    Contact list for account 'Fourth Coffee':
           Name: Rafel Shillo, Job title: Senior Developer  
    
  3. アカウント Fourth Coffee の間に作成された関連付けを削除し、ラフェル・シッロにお問い合わせください。

    要求:

    DELETE [Organization Uri]/api/data/v9.2/accounts(22cc22cc-dd33-ee44-ff55-66aa66aa66aa)/contact_customer_accounts(00aa00aa-bb11-cc22-dd33-44ee44ee44ee)/$ref HTTP/1.1
    OData-MaxVersion: 4.0
    OData-Version: 4.0
    If-None-Match: null
    Accept: application/json
    

    応答:

    HTTP/1.1 204 NoContent
    OData-Version: 4.0
    
  4. Example Security Roleという名前のセキュリティ ロールを作成します。

    要求:

    POST [Organization Uri]/api/data/v9.2/roles HTTP/1.1
    OData-MaxVersion: 4.0
    OData-Version: 4.0
    If-None-Match: null
    Accept: application/json
    
    {
     "businessunitid@odata.bind": "businessunits(38e0dbe4-131b-e111-ba7e-78e7d1620f5e)",
     "name": "Example Security Role"
    }
    

    応答:

    HTTP/1.1 204 NoContent
    OData-Version: 4.0
    OData-EntityId: [Organization Uri]/api/data/v9.2/roles(33dd33dd-ee44-ff55-aa66-77bb77bb77bb)
    
  5. 新しいセキュリティ ロールを systemuser レコードに関連付けます。

    要求:

    POST [Organization Uri]/api/data/v9.2/systemusers(4026be43-6b69-e111-8f65-78e7d1620f5e)/systemuserroles_association/$ref HTTP/1.1
    OData-MaxVersion: 4.0
    OData-Version: 4.0
    If-None-Match: null
    Accept: application/json
    
    {
     "@odata.id": "[Organization Uri]/api/data/v9.2/roles(33dd33dd-ee44-ff55-aa66-77bb77bb77bb)"
    }
    

    応答:

    HTTP/1.1 204 NoContent
    OData-Version: 4.0
    

    コンソール出力:

    Security Role 'Example Security Role' associated with to your user account.
    
  6. systemuserroles_association多対多リレーションシップを使用してセキュリティ ロールの例を取得します。

    要求:

    GET [Organization Uri]/api/data/v9.2/systemusers(4026be43-6b69-e111-8f65-78e7d1620f5e)/systemuserroles_association?$select=name&$filter=roleid%20eq%20e359feba-bb27-ed11-9db1-002248274ada HTTP/1.1
    OData-MaxVersion: 4.0
    OData-Version: 4.0
    If-None-Match: null
    Accept: application/json
    

    応答:

    HTTP/1.1 200 OK
    OData-Version: 4.0
    
    {
     "@odata.context": "[Organization Uri]/api/data/v9.2/$metadata#roles(name)",
     "value": [
       {
         "@odata.etag": "W/\"72935763\"",
         "name": "Example Security Role",
         "roleid": "33dd33dd-ee44-ff55-aa66-77bb77bb77bb"
       }
     ]
    }
    

    コンソール出力:

    Retrieved role: Example Security Role
    
  7. ユーザー レコードからセキュリティ ロールの関連付けを解除します。 ここでも、一対多の関連付けを削除するために使用されるのと同じ一般的な構文があることに注意してください。

    要求:

    DELETE [Organization Uri]/api/data/v9.2/systemusers(4026be43-6b69-e111-8f65-78e7d1620f5e)/systemuserroles_association(33dd33dd-ee44-ff55-aa66-77bb77bb77bb)/$ref HTTP/1.1
    OData-MaxVersion: 4.0
    OData-Version: 4.0
    If-None-Match: null
    Accept: application/json
    

    応答:

    HTTP/1.1 204 NoContent
    OData-Version: 4.0
    

セクション 5: テーブル行を削除する

  1. 行 URL のコレクションの各要素が削除されます。 1 つ目は、ラフェル・シッロの連絡先レコードです。

    要求:

    DELETE [Organization Uri]/api/data/v9.2/contacts(00aa00aa-bb11-cc22-dd33-44ee44ee44ee) HTTP/1.1
    OData-MaxVersion: 4.0
    OData-Version: 4.0
    If-None-Match: null
    Accept: application/json
    

    応答:

    HTTP/1.1 204 NoContent
    OData-Version: 4.0
    
  2. コレクションを繰り返し実行すると、残りのレコードが削除されます。

    要求:

    DELETE [Organization Uri]/api/data/v9.2/accounts(11bb11bb-cc22-dd33-ee44-55ff55ff55ff) HTTP/1.1
    . . .  
    
    DELETE [Organization Uri]/api/data/v9.2/accounts(22cc22cc-dd33-ee44-ff55-66aa66aa66aa) HTTP/1.1 
    . . .  
    
    DELETE [Organization Uri]/api/data/v9.2/contacts(2f28bcb4-bb27-ed11-9db1-002248274ada) HTTP/1.1
    . . .  
    
    DELETE [Organization Uri]/api/data/v9.2/roles(33dd33dd-ee44-ff55-aa66-77bb77bb77bb) HTTP/1.1  
    

こちらも参照ください

Dataverse Web API を使用する
Web API を使用してテーブル行を作成する
Web API を使用してテーブル行を取得する
Web API を使用してテーブル行を更新および削除する
Web API を使用してテーブル行の関連付けと関連付けを解除する
Web API 基本操作のサンプル (C#)