2009-11-09 160 views
0

我試圖根據delicious API訪問美味的所有帖子。在Ubuntu Linux中,我提供了以下命令:美味的API回覆「拒絕訪問」

curl https://myusername:[email protected]/v1/posts/all 

其中myusername和mypassword是使用雅虎郵件帳戶註冊的。我得到了答案:

<?xml version="1.0" standalone="yes"?> 
<result code="access denied" /> 
<!-- fe07.feeds.del.ac4.yahoo.net uncompressed/chunked Mon Nov 9 13:06:28 PST 2009 --> 

怎麼了?

回答

1

你得到的狀態碼是什麼?代碼999?如果是這樣,那就是雅虎的默認狀態代碼,用於限制您的請求,即您試圖經常拉你的帖子。我注意到,如果你經常發起/ posts/all調用(每幾分鐘超過一次),你會受到限制。

如果您不需要需要以獲取您的所有帖子,您應該嘗試使用/v1/posts/recent呼叫以及您可能需要的任何選項。這似乎對我有用。 Yahoo/Delicious不會限制該請求。

+0

僅當從Firefox的地址欄請求時纔會輸入999。 – lmsasu 2009-11-09 21:17:39

+0

對於帖子/最近我得到了與問題中給出的xml相同的xml。 – lmsasu 2009-11-09 21:19:12

+0

因此,按照您的方式進行調用,SSL證書無法驗證,因爲它不知道從哪裏得到它。如果您希望對其進行身份驗證,則必須提供Equifax根CA.如果認證沒有必要,可以使用-k選項,如下所示: curl -k -u用戶名:密碼https://api.del.ic.ious/v1/posts/recent – kafuchau 2009-11-09 23:21:01

2

如果您已註冊Yahoo! ID,您需要使用OAuth而不是基本身份驗證。

不幸的是,使用類似這樣的命令行工具在OAuth中相當困難。最後,我檢查了沒有一個簡單的方法來做到這一點。