2016-05-17 8 views
0

現在、httpパッチを使用して2016 Web API経由でMicrosoft CRMデータを送信するいくつかのコードがあります。私のペイロードにテキストまたはintデータ型が含まれているとうまく動作しますが、ペイロードにルックアップレコードが含まれていると、400回の不正な要求を超える応答は得られません。以下 Microsoft CRM 2016 Web APIでタイプルックアップのフィールドを更新できない

関係にGUID、レコードにGUID、

payload = {"new_lastweblocation": "Midlothian" } 
payload = {"[email protected]" : "https://crmnaorgXXXX.crm.dynamics.com/api/data/v8.0/new_locations(1234578-a588-e511-8105-c4346bace18c)"} 
payload = {"[email protected]" : "https://crmnaorgXXXX.crm.dynamics.com/api/data/v8.0/new_locations(1234578-a588-e511-8105-c4346bace18c)"} 

本質的に、私が試した通過平文(変更sentitiveデータで)私が試したペイロードのインスタンスの数であります、odata.bind経由でリンクされたguidなど。 明らかに私のショットガンアプローチは400エラーと一緒に、私は基本的に2016 Web APIでエンティティが処理される方法を誤解しています。あなたに何か提案があれば教えてください。

答えて

2

私はthis requestを使用して終了しました。私が持っていた主な問題は、単一値ナビゲーションプロパティが何であるかわからなかったことです。私がthis requestを使って終わったことを知るために。私は、「*」

オリジナルURL

GET [Organization URI]/api/data/v8.1/incidents(39dd0b31-ed8b-e511-80d2-00155d2a68d4)?$select=title,customerid_value&$expand=customerid_contact($select=fullname) 

マイURL = URL内の選択を選択することに変更

GET [Organization URI]/api/data/v8.1/incidents(39dd0b31-ed8b-e511-80d2-00155d2a68d4)?$select=* 

試してみて、単一値のナビゲーションを見つけるために、GETリクエストを使用してプロパティは必ず'Prefer':'odata.include-annotations"*"を追加してください。私は認可ヘッダの前に置くまで、プリファレンスヘッダを渡すことができませんでした。

最後に、取得要求から応答が得られたら、私が探していた変数を、その末尾に@Microsoft.Dynamics.CRM.associatednavigationpropertyで探し、その値を使用しました。私の場合、フィールド名はnew_lastweblocationでしたが、単一値ナビゲーションプロパティはnew_LastWebLocation

3

associating entities on createのMSDNに記載されている方法は、更新するときにも機能します。私は(それぞれ、GUIDは既存のアカウントと連絡先のGUIDに置き換えられている)問題なく2016デモ環境で次のクエリをテストした:

PATCH [Organization URI]/api/data/v8.0/accounts/(00000000-0000-0000-0000-000000000001) HTTP/1.1 
Content-Type: application/json; charset=utf-8 
OData-MaxVersion: 4.0 
OData-Version: 4.0 
Accept: application/json 

{ 
"name":"Sample Account", 
"[email protected]":"/contacts(00000000-0000-0000-0000-000000000001)" 
} 

はあなたが確認することから始めることができると、このアウト・オブ・ボックスユースケースはカスタムエンティティのルックアップで特定の問題をデバッグする前に動作しますか?

+0

でした。ドキュメントをもう一度読んだ後、いくつかのことを試してみて、単一値のナビゲーションプロパティを使用する必要がありました – mucle6

関連する問題