Как сделать POST, используя -x в VBA HTTP API - PullRequest
0 голосов
/ 22 апреля 2020

У меня есть несколько вызовов API для STRIPE, которые работают хорошо. Обычно я использую версию cURL и решаю, что мне нужно сделать.

Я только что столкнулся с необходимостью УДАЛИТЬ подписку:

   curl https://api.stripe.com/v1/subscriptions/sub_FpZkRarex4obNX \
  -u sk_test_VHkTM0bOtpsE1dBnTxFbMBAk00WnBQnyI5: \
  -X DELETE

Проблема в том, что я понятия не имею, как использовать -x в VBA

Мой текущий код для других вызовов:

api_Key = getStripeAPI

req = "DELETE"

Set httpReq = CreateObject("MSXML2.ServerXMLHTTP")
httpReq.Open "POST", "https://api.stripe.com/v1/subscriptions/" & stripeSubID, False

httpReq.setRequestHeader "Authorization", "Bearer " & api_Key
httpReq.send req
strResponse = httpReq.responseText
Debug.Print strResponse
writeToText strResponse
Set parsed = JsonConverter.ParseJson(strResponse)

Я знаю, что приведенный выше код неверен, но если кто-то может дать мне знать, как использовать -X, было бы здорово.

Ответы [ 2 ]

2 голосов
/ 22 апреля 2020

Вы уже используете его, просто передаете неправильный аргумент. Это первый аргумент .Open:

httpReq.Open "DELETE", "https://api.stripe.com/v1/subscriptions/" & stripeSubID, False
1 голос
/ 22 апреля 2020

хорошо, я только что понял это сам ... после 45 минут попыток.

Для тех, кто ищет это:

-x УДАЛИТЬ означает использовать УДАЛИТЬ в качестве "GET" / " POST "опция.

рабочий код:

api_Key = getStripeAPI



Set httpReq = CreateObject("MSXML2.ServerXMLHTTP")
httpReq.Open "DELETE", "https://api.stripe.com/v1/subscriptions/" & stripeSubID, False

httpReq.setRequestHeader "Authorization", "Bearer " & api_Key
httpReq.send
strResponse = httpReq.responseText
Debug.Print strResponse
writeToText strResponse
Set parsed = JsonConverter.ParseJson(strResponse)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...