只是想提一下我真的是API开发的新手(概念,结构,最佳实践)我根本不熟悉它,所以请原谅我可怜的愚蠢问题,如果你发现它,我'使用Phil Sturgeon的REST API服务器,Curl Library和REST API客户端,这是我的代码:
在我的控制器应用程序/ controllers / make_key
中function index(){
$this->load->library('rest');
$this->load->library('curl');
$this->rest->put('https://www.myapplication.com/apifolder/key/X-API-KEY/FOO');
}
- 根本没有回应
其中apifolder / key是我的key.php的位置(来自Phil Sturgeon的默认示例):
并注意我也通过地址栏尝试了这个:
https://www.myapplication.com/apifolder/key/X-API-KEY/FOO - return({“status”:false,“error”:“无效的API密钥。”})
https://www.myapplication.com/apifolder/key?X-API-KEY=FOO - return({“status”:false,“error”:“Unknown method。”})
并尝试了很多查询,但似乎没有任何问题,我唯一的问题是......
如何使这个key.php工作?我为这样一个简单的头脑问题道歉,提前谢谢你
答案 0 :(得分:4)
在我自己的问题上看到我自己接受的答案...... Phils文档没有提供这些信息。我不得不自己深入图书馆。
我最终发现403被禁止是因为我没有提供api密钥来生成密钥..
时引用了该密钥
菲尔的文档没有说明在生成密钥之前需要现有的api密钥。 我只是在db中的表中创建了一个伪造的密钥,并在调用/key/index?X-API-KEY=boguskey
CodeIgniter REST API Library Ajax PUT throwing 403 Forbidden