0

我正在使用 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());
}
}

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

4

1 回答 1

0

为了交换访问令牌的代码,您必须Services_Soundcloud使用客户端 ID、客户端密码重定向 uri 实例化您的实例。以下代码应该可以工作,假设您将重定向 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());
    }
}

让我知道这是否能解决问题。

于 2013-02-08T17:09:26.617 回答