1

当我尝试通过他们的 php sdk 更新 soundcloud 帐户的配置文件描述时,每次都会收到 403 错误。该应用程序已通过身份验证,我可以执行诸如放置评论之类的操作,但我无法更新个人资料上的任何内容(尤其是描述字段)。

我正在使用他们的官方文档中的标准代码:

<?php
require_once 'Services/Soundcloud.php';

// create a client object with access token
$client = new Services_Soundcloud('YOUR_CLIENT_ID', 'YOUR_CLIENT_SECRET');
$client->setAccessToken('YOUR_ACCESS_TOKEN');

// get the current user
$user = json_decode($client->get('me'));

// update the user's profile description
$user = json_decode($client->post('me', array(
   'description' => 'I am using the SoundCloud API!'
)));
print $user->description;

请帮我找出错误来自哪里,因为我完全没有想法。

4

2 回答 2

2

我们不好,您指向的用户文档有两个问题:

  • 对用户资源的更新应该使用 PUT 方法,而不是 POST。
  • 参数需要正确命名空间。

我已经修改了文档来解决这两个问题。新代码示例:

<?php
require_once 'Services/Soundcloud.php';

// create a client object with access token
$client = new Services_Soundcloud('YOUR_CLIENT_ID', 'YOUR_CLIENT_SECRET');
$client->setAccessToken('ACCESS_TOKEN');

// get the current user
$user = json_decode($client->get('me'));

// update the user's profile description
$user = json_decode($client->put('me', array(
   'user[description]' => 'I am using the SoundCloud API!'
)));
print $user->description;

希望对您的困惑有所帮助并再次抱歉。如果您遇到任何问题,请告诉我。

于 2012-10-10T23:51:43.660 回答
0

要更新用户相关信息,您需要以用户身份登录 Sound Cloud,然后验证您的应用程序以使用您的个人数据,否则在更新/删除时您将收到所有用户相关信息的 403。要发布任何评论,您不需要此身份验证

http://developers.soundcloud.com/docs#authentication

参考

获取有关经过身份验证的用户的信息

用户登录 SoundCloud 并批准您的应用程序的授权请求后,您将能够访问他们的个人资料并代表他们采取行动。我们提供了一个方便的端点来访问有关经过身份验证的用户的信息。

于 2012-10-05T00:15:00.777 回答