2

このチュートリアルに従って、Eloqua で連絡先のエクスポートを作成しようとしています。

私が経験した結果は次のとおりです。

HTTP/1.1 400 There was a validation error.
{
    "failures": [{
        "field": "name",
        "constraint": "Must be a string value, at least 1 character and at most 100 characters long."
    },
    {
        "field": "fields",
        "constraint": "Is required."
    }]
}

そして意味がありません。

私の要求は次のとおりです。

POST https://<HOST>.eloqua.com/API/Bulk/2.0/contacts/exports

リクエスト本文:

{
    "name": "Sample Contacts Export",
    "fields": {
        "UniqueId": "{{Contact.Id}}",
        "Subject": "{{Contact.Id}}",
        "FirstName": "{{Contact.Field(C_FirstName)}}",
        "LastName": "{{Contact.Field(C_LastName)}}",
        "Email": "{{Contact.Field(C_EmailAddress)}}",
        "Company": "{{Contact.Field(C_Company)}}",
        "JobTitle": "{{Contact.Field(C_Title)}}",
        "Address": "{{Contact.Field(C_Address1)}}",
        "City": "{{Contact.Field(C_City)}}",
        "Country": "{{Contact.Field(C_Country)}}",
        "Province": "{{Contact.Field(C_State_Prov)}}",
        "PostalCode": "{{Contact.Field(C_Zip_Postal)}}",
        "Phone": "{{Contact.Field(C_BusPhone)}}",
        "MobilePhone": "{{Contact.Field(C_MobilePhone)}}"
    }
}

POST https://<HOST>.eloqua.com/API/Bulk/2.0/contacts/exports

リクエスト本文:

{
    "name":"Contact email export",
    "fields":{
        "EmailAddress":"{{Contact.Field(C_EmailAddress)}}"
    }
}

後者は、実際にはチュートリアルの例です。

何が悪いのか分かりますか?

前もって感謝します。

4

3 に答える 3

1

投稿リクエストに次のヘッダーを追加していることを確認してください。

Content-Type application/json

ヘッダーが省略されている場合、エラーを再現できます。

content-type なしのリクエスト

POST /API/Bulk/2.0/contacts/exports HTTP/1.1
Authorization: Basic *****

Body:
{
    "name":"Contact email export",
    "fields":{
        "EmailAddress":"{{Contact.Field(C_EmailAddress)}}"
    }
}

content-type なしの応答

{
  "failures": [
    {
      "field": "name",
      "constraint": "Must be a string value, at least 1 character and at most 100 characters long."
    },
    {
      "field": "fields",
      "constraint": "Is required."
    }
  ],...
}

コンテンツ タイプのリクエスト

POST /API/Bulk/2.0/contacts/exports HTTP/1.1
Authorization: Basic *****
Content-Type: application/json

Body:
{
    "name":"Contact email export",
    "fields":{
        "EmailAddress":"{{Contact.Field(C_EmailAddress)}}"
    }
}

コンテンツ タイプの応答

{
  "name": "Contact email export",
  "fields": {
    "EmailAddress": "{{Contact.Field(C_EmailAddress)}}"
  },
  "dataRetentionDuration": "PT12H",
  "uri": "/contacts/exports/2",
  "createdBy": "*****",
  "createdAt": "2016-03-09T14:33:03.0520813Z",
  "updatedBy": "*****",
  "updatedAt": "2016-03-09T14:33:03.0520813Z"
}
于 2016-03-09T14:40:21.703 に答える
0

私に戻ってきてくれてありがとう。実は、エラーの原因はAcceptヘッダーが欠落していたことです。リクエストを正常に実行するには、次のいずれかを含める必要があります。

Accept: application/json

また

Accept: text/csv

于 2016-03-10T13:21:25.987 に答える