2009-11-09 163 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中相当困难。最后,我检查了没有一个简单的方法来做到这一点。