如何将POST请求发送到MOXTRA API

时间:2014-04-18 14:17:22

标签: javascript

您好我是Java Script和jQuery的新手。

我正在尝试通过访问Moxtra的API制作一个MOXTRA网络应用程序,我试图通过点击按钮创建一个新的Binder。

APIGEE的Moxtra API控制台发出以下创建活页夹的请求: -

请求

POST /me/binders?access_token=U1kwMQAAAUV03fjJAACowFVKRnpSbjNvWHlNS2lOTnIwdEt3UzI4AAAAAVRnRjBEN0MzdURUQ2c5OHJMQWQwb0I2YXBpZ2VlMiAgIFB HTTP/1.1

X-HostCommonName:
    api.moxtra.com

Host:
    api.moxtra.com

Content-Length:
    33

X-Target-URI:
    https://api.moxtra.com

Content-Type:
    application/json

Connection:
    Keep-Alive


{
  "name": "My First Binder"
}

我不知道如何在jQuery或Javascript中制作上述HTML请求,或者是否有任何方法可以使用Json进行上述请求。任何帮助将不胜感激

2 个答案:

答案 0 :(得分:0)

以下是通过JQuery发布此内容的方法

$.ajax({
    type: "POST",
    url: https://api.moxtra.com/me/binders?access_token=[Access-Token],
    data: {"name": "My First Binder"},
    dataType: "json",
    contentType: "application/json",
    success: function(){
       ...
    }
});

请参阅:https://api.jquery.com/jQuery.ajax/

答案 1 :(得分:0)

你的用例是什么?你为什么要创建一个活页夹?我们在开发人员门户中添加了大量JavaScript示例代码段。 (https://developer.moxtra.com/moxo/codesample/javascript-sample.html)。

在创建活页夹之前,您首先需要创建一个用户并获取访问令牌。

以下是使用javascript创建用户和获取访问令牌的方法:

   <!-- Include Moxtra JavaScript Library -->
    <script type="text/javascript" src="https://www.moxtra.com/api/js/moxtra-latest.js" id="moxtrajs" data-client-id="insert_your_app_client_id"></script>

    <!-- Include External JavaScript Libraries -->
    <script src="https://code.jquery.com/jquery-1.11.0.min.js"></script>
    <script src="https://crypto-js.googlecode.com/svn/tags/3.1.2/build/rollups/hmac-sha256.js"></script>
    <script src="https://crypto-js.googlecode.com/svn/tags/3.1.2/build/components/enc-base64-min.js"></script>

    <!-- Create Signature -->
    <script type="text/javascript">// <![CDATA[
        var client_id = "insert_your_app_client_id";
        var client_secret = "insert_your_app_client_secret";
        var timestamp = new Date().getTime();
        var unique_id = "unique_user_id"; //Unique ID of how user is identified in your system

        // HMAC-SHA-256 signature encoded using base64(URL-safe variant, RFC 4648)
        var hash = CryptoJS.HmacSHA256(client_id + unique_id + timestamp, client_secret);
        var hashInBase64 = CryptoJS.enc.Base64.stringify(hash);
        var signature = hashInBase64.replace(/\+/g, '-').replace(/\//g, '_').replace(/\=+$/, '');
        // ]]>
    </script>

    <!-- Initialize user and get access token -->
    <script type="text/javascript">
        function get_token() {
            var init_options = {
                uniqueid: unique_id,
                firstname: "John",
                lastname: "Doe",
                timestamp: timestamp,
                signature: signature,
                get_accesstoken: function(result) {
                    console.log("access_token: " + result.access_token + " expires in: " + result.expires_in);
                    // Use the access token to make Moxtra SDK and API calls
                },
                error: function(result) {
                    console.log("error code: " + result.error_code + " message: " + result.error_message);
                }
            };
            Moxtra.setup(init_options);
        }
    </script>

只需调用get_token()函数即可创建用户并获取访问令牌。

然后使用访问令牌创建活页夹。