有人可以帮我将这个Curl请求转换为node.js吗

时间:2018-11-20 17:55:53

标签: node.js azure curl azure-functions

curl 'https://api.twilio.com/2010-04-01/Accounts/AC7f9cc91207db898bb0ddee8e09d707b5/Calls.json' 

X POST \
data-urlencode 'To=+971566820680' \
data-urlencode 'From=+971556309806' \
data-urlencode 'Url=https://api.twilio.com/2010-04-01/Accounts/AC7f9cc91207db898bb0ddee8e09d707b5/Calls.json' \

data-urlencode 'ApplicationSid=APae94ada54ea05d0dabde55dc7a346178' \
data-urlencode 'Method=POST' \
-u AC7f9cc91207db898bb0ddee8e09d707b5:9b96d9f573a7bbcadce5fa88eced3b66

上面是我要转换为NodeJS的代码

理想情况下,我想拥有一个Azure函数(用NodeJS编写)

1 个答案:

答案 0 :(得分:1)

如果您检出this link-它允许您将任何curl请求转换为多种语言的代码。结果,我能够提出这个建议-我做了一些更改。注意:您需要将request作为npm模块安装:

template <typename T> struct is_basic_string_view : std::false_type {};

template <typename T> struct is_basic_string_view<basic_string_view<T>> : std::true_type
{};

template <typename T>
std::enable_if_t<!is_basic_string_view<T>::value> foo(const T &s)
{
    std::basic_string_view sv{s}; // Class template argument deduction

    if constexpr (std::is_same_v<typename decltype(sv)::value_type, char>)
        someCFunctionU(sv.data());
    else
        someCFunctionW(sv.data());
}

要将此代码转换为Azure Function可以使用的代码,您需要设置用于回调的上下文对象。这是针对Azure 2.0函数的。首先,您需要导入所需的npm模块(并将其安装在Azure Function应用的Kudu区域中)。他们给您的功能存根将为您提供const request = require('request'); const options = { url: 'https://api.twilio.com/2010-04-01/Accounts/AC7f9cc91207db898bb0ddee8e09d707b5/Calls.json', method: 'POST', auth: { 'user': 'AC7f9cc91207db898bb0ddee8e09d707b5', 'pass': '9b96d9f573a7bbcadce5fa88eced3b66' } }; function callback(error, response, body) { if (!error && response.statusCode == 200) { console.log(body); } } request(options, callback); 功能存根。我在下面所做的事情来自您的curl请求中的代码,并将其应用于Azure函数。在底部,您将看到module.exportscontext.res表示通过HTTP调用此Azure函数将产生的响应。我已经在主体中填写了您所要求的API请求的响应。

context.res