Как перевести код скручиваемости почтальона в filemaker pro с помощью параметров скручивания «Вставить из URL»? - PullRequest
1 голос
/ 06 мая 2019

Я пытался перенести рабочий код curl в почтальоне в filemaker, но не смог заставить его работать.

Ниже приведен рабочий код curl от почтальона:

curl -X POST \
  'https://apidev.nationex.com/api/ShippingV2/GetDestinationETA?ShippingID=606200005' \
  -H 'Accept: */*' \
  -H 'Authorization: XXXXXXXXXXXXXXXXX' \
  -H 'Cache-Control: no-cache' \
  -H 'Connection: keep-alive' \
  -H 'Content-Type: application/json' \
  -H 'Host: apidev.nationex.com' \
  -H 'Postman-Token: e9f8cf52-fbe4-4a74-8b49-d03b54c238d6,912db917-0a65-4644-9526-68a062f71e70' \
  -H 'User-Agent: PostmanRuntime/7.11.0' \
  -H 'accept-encoding: gzip, deflate' \
  -H 'cache-control: no-cache' \
  -H 'content-length: 83' \
  -d '{
    "CustomerID":162450,
    "DestPostalCode":"J3Y5T7",
    "PickupDate":"2019-04-29",
}
    '

Ниже приведен код, который я вставил в опции curl для filemaker:

"-X POST \
  'https://apidev.nationex.com/api/ShippingV2/GetDestinationETA?ShippingID=606200005' \
  -H 'Accept: */*' \
  -H 'Authorization: XXXXXXXXXXXXXXXXX' \
  -H 'Cache-Control: no-cache' \
  -H 'Connection: keep-alive' \
  -H 'Content-Type: application/json' \
  -H 'Host: apidev.nationex.com' \
  -H 'Postman-Token: e9f8cf52-fbe4-4a74-8b49-d03b54c238d6,07e38ca7-19a1-49ab-a57d-11c62c398b06' \
  -H 'User-Agent: PostmanRuntime/7.11.0' \
  -H 'accept-encoding: gzip, deflate' \
  -H 'cache-control: no-cache' \
  -H 'content-length: 83' \
  -d '{
    \"CustomerID\":162450,
    \"DestPostalCode\":\"J3Y5T7\",
    \"PickupDate\":\"2019-04-29\",
}
    '"

Ниже приведено сообщение об ошибке, которое я получил в Filemaker:

{"Message":"An error has occurred.","ExceptionMessage":"Object reference not set to an instance of an object.","ExceptionType":"System.NullReferenceException","StackTrace":"   at Nat.Dal.DAL.DALWebApiUser.IsTokenValid(HttpRequestMessage _request, Int32 _customerID) in C:\\GIT\\nat.dal\\DAL\\DALWebApiUser.cs:line 257\r\n   at NationexWebApi.Controllers.ShippingV2Controller.GetDestinationETA(DTOETARequest _request) in C:

Может кто-нибудь показать мне некоторые идеи здесь? Большое спасибо!

Ответы [ 3 ]

1 голос
/ 06 мая 2019

Ошибка, которую вы получаете от API, а не от FileMaker.

Вы не указываете URL в опциях cURL, только дополнительные аргументы.

Возможно, вы хотите --show-error в качестве опции.

Различия, которые вы должны знать о том, как работает FileMaker cURL: https://fmhelp.filemaker.com/help/16/fmp/en/index.html#page/FMP_Help/curl-options.html

Кроме того, вам не нужно экранировать символы новой строки, но вы можете смешивать стили кавычек между одинарными и двойными кавычками.

Может быть, что-то вроде этого (время ожидания, когда я пытаюсь это сделать)

"-H \"Accept: */*\" 
-H \"Authorization: XXXXXXXXXXXXXXXXX\" 
-H \"Cache-Control: no-cache\" 
-H \"Connection: keep-alive\" 
-H \"Content-Type: application/json\" 
-H \"Host: apidev.nationex.com\" 
-H \"Postman-Token: e9f8cf52-fbe4-4a74-8b49-d03b54c238d6,07e38ca7-19a1-49ab-a57d-11c62c398b06\" 
-H \"User-Agent: PostmanRuntime/7.11.0\" 
-H \"accept-encoding: gzip, deflate\" 
-H \"cache-control: no-cache\" 
-H \"content-length: 83\" 
-d \"{
    \"CustomerID\":162450,
    \"DestPostalCode\":\"J3Y5T7\",
    \"PickupDate\":\"2019-04-29\",
}\""

Возможно, сайт API просто сломан. Попробуйте настроить свой собственный веб-сервис, в котором вы можете проверять входящие запросы, или использовать httpProxy для проверки запросов.

0 голосов
/ 07 мая 2019

Наконец мне удалось построить соединение с Nationex API. Вот как выглядят рабочие параметры cURL в Filemaker pro:

"- H \" Авторизация: XXXXXXXXXXXXXXXXX \ "-H \" Тип содержимого: application / json \ "-d @ $ josn"

Спасибо всем за помощь!

0 голосов
/ 07 мая 2019

Попробуйте Генератор от Geist Interactive вместо Почтальона. Вы можете просто скопировать вставить код FileMaker.

...