2014-09-01 2 views
0

Httparty를 사용하여 다음과 같은 컬 요청을 성공적으로 복제하려고합니다. httpaty를 사용하여 중첩 된 json을 구성하는 최선의 방법이 궁금합니다. 내가 본 중첩 쿼리의 예는 도움이되지 않았습니다. 내가 액세스하려고하는 API에서 500 오류가 발생했습니다. 어떤 도움이, 단축 버전 내 httparty 요청이 어떻게 생겼는지httparty에서 json 요청 구성

HTTParty.post(
    "https://api.relateiq.com/v2/contacts", 
:body => { 
     :properties => { 
    :name => [{:value => "Falcao Test"}], 
    :email => [{:value => "[email protected]"}] 
    } 
    }, 
    :basic_auth => auth, 
:options => { :headers => { 'Content-Type' => 'application/json' } } 
) 

하고 요청이 너무 비슷

curl https://api.relateiq.com/v2/contacts 
-X POST 
-u [API Key]:[API Secret] 
-H 'Content-Type: application/json' 
-H 'Accept: application/json' 
-d '{ 
    "properties" : { 
     "name" : [ 
      { 
       "value" : "James McSales" 
      } 
     ], 
     "email" : [ 
      { 
       "value" : "[email protected]" 
      }, 
      { 
       "value" : "[email protected]" 
      } 
     ], 
     "phone" : [ 
      { 
       "value" : "(888) 555-1234" 
      }, 
      { 
       "value" : "(888) 555-0000" 
      } 
     ], 
     "address": [ 
      { 
       "value": "123 Main St, USA" 
      } 
     ], 
     "company": [ 
      { 
       "value": "RelateIQ" 
      } 
     ], 
     "title": [ 
      { 
       "value": "Noob" 
      } 
     ] 
    } 
}' 

감사

https://api.relateiq.com/v2 HTTParty :: Parser, : connection_adapter => HTTParty :: ConnectionAdapter는 HTTParty :: Parser, :: connection_adapter => 5, : assum_utf16_is_big_endian => true, : default_params => {}, follow_redirects => , : email => [{: value => "[email protected]"}]}}, {{: value => {Falcao Test} : basic_auth => {{: username => "5400a0b7e4b052e888539fb7", : password => "WNyLKfLZ9wK1hEyY6249VQKQ4zS"}, : options => {: headers => { "Content-Type"=> "application/json"}}}, @ last_uri = # https : // api.relateiq.com/v2/contacts>, @ raw_request = #, @last_response = #>

이전에 []으로 중첩되어있는 구조에서는 httpaty를 사용했지만 사용하지 않았습니다. 그것이 나를 혼란스럽게합니다.

+0

에 오신 것을 환영합니다. 지금까지 시도한 것을 보여줄 수 있습니까? – jbh

+0

도움이된다면 질문을 업데이트했습니다. –

+0

본문에'to_json'을 부르셨습니까? 나는 httparty가 그 일을 할 필요가 있음을 알고 있다고 생각하지 않는다. –

답변

0

이 구조는 전에 결코 발생하지 않았던 HTTParty로 복제 할 수 없었습니다. 연석과 도망친 json 문자열을 사용하지 않고 끝냈다.

0

귀하의 json은 다릅니다.

내 컬 예

내 httparty 코드

:name => {:value => "Falcao Test"} 

을 갖는다 (키 값)

키 "이름"의 값, 즉
"name" : [ 
     { 
      "value" : "James McSales" 
     } 
    ], 

하나의 객체를 포함하는 배열하지 키 "name"의 값이 더 이상 배열이 아닙니다

ori 예문이어야합니다.

:name => [{:value => "Falcao Test}] 
+0

나는이 중 어느 것도 작동하지 않는 많은 시도를했다. 위의 예는 하나뿐입니다. httpsy를 사용하여 컬 예를 표현하는 방법을 알려주시겠습니까? –

+0

예제를 추가했습니다. 다른 데이터를 제출 중입니다 (예 : httparty 버전에 회사가 없음). 데이터가 필수적일 경우 문제가 될 수 있음 –

+0

예 : 간결하게 요약했습니다. 유일한 필수 입력란은 이메일입니다. 질문을 업데이트하고 요점을 고려하여 세부 정보를 요청했습니다. 그러나 나는 여전히 같은 500 오류를받습니다. –