【问题标题】:Invalid API key as a reponse of PUT method using RESTServer codeigniter无效的 API 密钥作为使用 REST 服务器 codeigniter 的 PUT 方法的响应
【发布时间】:2016-06-22 21:43:14
【问题描述】:

我正在使用 codeigniter rest server api 库。

当我使用 PUT 方法在 Postman 中输入 http://localhost/RESTapi/api/question?X-API-KEY=XXX 时 我越来越: { “状态”:假, “错误”:“无效的 API 密钥” }

使用 GET 方法可以正常工作 我该如何解决这个问题?

【问题讨论】:

    标签: php postman codeigniter-restserver


    【解决方案1】:

    如果您对凭据发出 POST 或 PUT 请求,或者它们的执行方式不一致,我已经看到一些 API 不查看 GET 参数。

    确实,凭据应该通过 Authorize 标头或自定义标头进入标头,原因有很多,例如“不记录凭据以访问日志”,但我离题了。

    这种情况你可以试试:

    • X-API-KEY=XXX 放在PUT 的主体内(没有双关语),看看这是否有效
    • 查看库是否/如何在标头中接受 API 密钥

    特别看一下这个库 (https://github.com/chriskacerguis/codeigniter-restserver),它们确实支持标头 X-API-KEY。这应该是您为所有请求放置密钥的地方 - 最好不要将它们作为 url 参数传递。

    这是使用他们 Github 项目中 curl 的命令行示例。

     curl -X POST -H "X-API-KEY: some_key_here" http://example.com/books
    

    在 PHP 中,您可以使用 curl 来设置标题,如下所示:

    curl_setopt($ch, CURLOPT_HTTPHEADER, array('X-API-KEY: XXX'));
    

    【讨论】:

    • 我尝试从 Postman 的标头中传递 api 密钥,它可以工作,非常感谢!
    猜你喜欢
    • 1970-01-01
    • 2017-06-17
    • 1970-01-01
    • 2013-05-15
    • 2014-07-19
    • 1970-01-01
    • 2013-12-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多