HTTP POST请求发送403错误。方法签名无效

时间:2013-03-29 15:40:37

标签: java post http-headers last.fm

好的,这真的令人沮丧。我正在使用我的API密钥。身份验证就可以了,令牌生成正常,会话密钥也可以。

但是当我运行playlist.create时,不会创建播放列表。

附录(2013年4月6日):事实证明我必须为我的sig生成一个新的md5哈希,但即使这样做,该方法也不起作用。

附录2(2013年4月9日):我今天几乎从零开始,并重新编写了我的大部分代码。我成功创建了16个播放列表,没有错误。但今天,相同的代码不起作用。我根本没碰过它,但错误。

NVM


出于安全考虑,我无法向您显示我的安全密钥。但是,我确实编写了一个快速程序来查找last.fm会话密钥:http://github.com/thekarangoel/LastFMSessionKeyFinder只需在last.fm/api上注册,在程序中输入您的API密钥和密码,您就拥有测试所需的一切API调用。

1 个答案:

答案 0 :(得分:3)

我的第几个答案

您未在散列签名中包含说明。

我的第二个答案

如前所述,我的一条评论中,您的代码导致了MalformedURLException。您没有看到这一点,因为您在SwingWorker子类中没有进行异常处理。如果您添加了异常处理as suggested here,您会看到。

我的第一个答案

您在参数列表中遗漏了&

String params = "method=playlist.create&title=" + title+ "api_key=" + ...

应该是

String params = "method=playlist.create&title=" + title+ "&api_key=" + ...

阅读请求的答案(connection.getInputStream()等)并检查问题是什么可能是个好主意。