2012-07-24 43 views
2

只是想提一提,我真的是API開發的新手(概念,結構和最佳實踐),我根本就不熟悉它,所以請原諒我要是你覺得它可憐愚蠢的問題是,我使用的是菲爾鱘魚的REST API服務器,curl庫,以及REST API客戶端,這裏是我的代碼:如何在Codeigniter中的我自己的控制器中生成一個API密鑰

在我的控制器應用程序/控制器/ 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.php的位置(從菲爾鱘魚的默認實例):

,並請注意,我還可以通過地址欄試過這樣:

https://www.myapplication.com/apifolder/key/X-API-KEY/FOO - 返回({「地位」:假的, 「錯誤」: 「無效的API密鑰」})

https://www.myapplication.com/apifolder/key?X-API-KEY=FOO - 返回({ 「地位」:假的, 「錯誤」: 「未知的方法。」})

,並試圖頗多更多查詢但似乎沒有工作,我唯一的問題是...

如何使這個key.php工作?我很抱歉這樣一個簡單的頭腦問題提前謝謝

+1

提供一個有效的API密鑰時,並在您的API調用使用一個有效的方法。這應該記錄在你有圖書館的地方附近。 – 2012-07-24 08:44:51

+0

這不是一個簡單的頭腦問題,幾個人有這個,老實說菲爾可能需要更新他的文檔有點..我提供了一個答案。 – gorelative 2012-07-24 13:16:03

+0

謝謝Robin yes FOO是放在我的key_table中的一個有效密鑰,並且針對get()方法進行了測試,並且似乎工作正常,除非當我試圖執行post方法時,它只返回一個錯誤, – user1547689 2012-07-24 14:03:23

回答

4

看到我自己接受的答案在我自己的qeuestion ...菲律賓文檔不提供此信息。我不得不親自進入圖書館。

我最終找到了403禁止是因爲我沒有提供API密鑰生成密鑰..
類abiguous菲爾的文檔沒有一個現有的API密鑰要求,然後才能聲明生成密鑰.. 我只是創造了數據庫表中的一個僞造的鑰匙,並引用了調用/key/index?X-API-KEY=boguskey

CodeIgniter REST API Library Ajax PUT throwing 403 Forbidden

+0

已更新: 謝謝你Gorelative,我已經使用我創建到我的key_table僞造的密鑰,並一直使用get方法,問題是當我試圖做一個PUT/POST方法它總是返回一個({「狀態」 :假,「錯誤」:「無效的API密鑰。」})作爲迴應, 你有一個想法,我怎麼能做一個職位或放置方法來通過CURL(Codeigniter捲曲庫)生成一個密鑰?就像你通過$ ajax所做的一樣, 非常感謝 – user1547689 2012-07-24 14:10:36

+1

你需要將密鑰作爲http頭傳遞。或後期變種。或者,或者在URL中傳遞api密鑰..就像我上面提到的那樣,在api_keys數據庫中使用'?X-API-KEY =' – gorelative 2012-07-24 14:14:05

+0

@gorelative有幾個字段,我不知道目的是什麼。 user_id,級別,ignore_limits,is_private_key,ip_addresses。你什麼時候可以使用這些領域? – 2016-03-20 09:48:59

相關問題