Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ajax 如何让Postman调用我的Web API_Ajax_Api_Web_Postman - Fatal编程技术网

Ajax 如何让Postman调用我的Web API

Ajax 如何让Postman调用我的Web API,ajax,api,web,postman,Ajax,Api,Web,Postman,我有Chrome的插件邮递员。我只是想知道如何让邮递员调用我的web API 目前,我正在使用Javascript编写的AJAX调用: alert("Getting security token"); // Do AJAX call to get security token: $.ajax({ url: [security token url], type: "POST", headers: { Accept:

我有Chrome的插件邮递员。我只是想知道如何让邮递员调用我的web API

目前,我正在使用Javascript编写的AJAX调用:

alert("Getting security token");

// Do AJAX call to get security token:
    $.ajax({
        url: [security token url],
        type: "POST",
        headers: {
            Accept: "application/json"
        },
        ContentType: "application/x-www-form-urlencoded",
        data: {
            grant_type: "password",
            username: [username],
            password: [password]
        }
    }).done(function(data)
    {
        var accessToken = data.access_token;

        alert(accessToken);

        alert("Getting json string.");

        // Now that we have access token, send it along with the request for the json string:
        $.ajax({
            // meta data sent as URL parameters:
            url: [url to get json string]
            type: "GET",
            headers: {
                Authorization: "Bearer " + accessToken // access token
            },
            contentType: false,
            processData: false
        }).done(function(data)
        {
            $("#jsonDiv").html(data);
        }).fail(function(jqXhr, textStatus, errorThrown)
        {
            alert("jqXhr = " + JSON.stringify(jqXhr));
            alert("textStatus = " + textStatus + ", errorThrown = " + errorThrown);
        });     
    }).fail(function(jqXhr, textStatus, errorThrown)
    {
        alert("jqXhr = " + JSON.stringify(jqXhr));
        alert("textStatus = " + textStatus + ", errorThrown = " + errorThrown);
    });
在《邮递员》中,我需要做些什么才能做到这一点


谢谢

有几种方法可以实现这一点,但这里有一些步骤可以帮助您开始。创建两个API:

第一个使用POST方法调用“安全令牌url”。 添加标题:

  • 接受:application/json
然后在body下,选择x-www-form-urlencoded,然后添加以下键(及其相应的值):

  • 授权类型:密码
  • 用户名:
  • 密码:
在我看来,密码授权类型也需要客户id和客户机密,但我在上面的代码中看不到这一点,所以你可能不需要它

如果您点击send,您应该会得到一个访问令牌

在第二个API中,设置获取并提供适当URL的方法。然后在标题中添加: -授权:持票人

如果您想获得更多乐趣,可以使用test选项卡将访问令牌写入环境变量,然后在第二次调用中使用结果。 您不需要为每个呼叫获取新的访问令牌,因此您可以继续使用相同的令牌,直到它过期


很抱歉,如果您已经知道如何做到这一点,我无法从您的问题中判断您的专业水平。希望这能有所帮助。

这是我一直在做的事情,但当我进行第二次API调用时,我得到了回复:“此请求的授权已被拒绝。”这很奇怪,因为我发布的Javascript没有这个问题。您是否尝试过在postman对API的调用中使用Ajax代码中检索到的访问令牌?当你这样做时会发生什么?是的,我使用我的访问令牌。我收到消息“此请求的授权已被拒绝”。如果您在第二个API调用中使用来自Ajax调用的令牌,则表明您的第二个API调用不正确。此时,我建议联系API所有者,询问他们希望获得什么信息。