使用php sdk无法获取soundcloud access_token。 invalid_grant错误

时间:2013-02-08 06:28:47

标签: php zend-framework oauth-2.0 access-token soundcloud

我正在使用soundcloud php sdk。当我使用sdk进行跟踪时,它可以成功运行。但是当我试图获取访问令牌以便使用它时,sdk发回给我一个错误401.在调试错误消息后,我得到了以下的responseJSON:{“error”:“invalid_grant”}

这是我的代码,我正在使用Zend框架

$code = $this->getRequest()->getParam('code',false);
if($code){
$client = new Services_Soundcloud($this->soundcloud['client_id'],$this->soundcloud['secret_key']);
try {
$access_token = $client->accessToken($code);
} catch (Services_Soundcloud_Invalid_Http_Response_Code_Exception $e) {
exit($e->getMessage());
}
}

有没有人知道如何解决这个错误?

1 个答案:

答案 0 :(得分:0)

为了交换访问令牌的代码,您必须使用客户端ID,客户端密钥重定向uri来实例化您的Services_Soundcloud实例。假设您将重定向uri存储在$this->soundcloud

中,以下代码应该有效
$client = new Services_Soundcloud(
    $this->soundcloud['client_id'],
    $this->soundcloud['secret_key'],
    $this->soundcloud['redirect_uri']
);

$code = $this->getRequest()->getParam('code',false);

if ($code) {
    try {
        $access_token = $client->accessToken($code);
    } catch (Services_Soundcloud_Invalid_Http_Response_Code_Exception $e) {
        exit($e->getMessage());
    }
}

如果能解决问题,请告诉我。