monbro/php-soundcloud

此包的最新版本(dev-master)没有提供许可证信息。

php-soundcloud 库已准备就绪,可直接与 composer 一起使用

dev-master 2013-01-21 15:34 UTC

This package is not auto-updated.

Last update: 2024-09-22 02:57:11 UTC


README

简介

SoundCloud API 的 PHP 封装,支持使用 OAuth 2.0 进行身份验证。

封装在 2.0 版本中进行了彻底的重构。当前版本是用 PEAR 编写的,可以很容易地作为 PEAR 包进行分发。

要求

  • PHP >= 5.0.0(支持 cURL

入门

查看入门wiki条目以获取更多关于如何入门的参考。还请确保查看示例应用程序,以获取一些示例代码。

使用 Composer 入门

将其添加到您的 composer.json 中,别忘了执行 "composer.phar update"。

"monbro/php-soundcloud": "dev-master",

在您的 PHP 类中使用它,例如

use Monbro\Soundcloud\SoundcloudServices;
use Monbro\Soundcloud\ServicesSoundcloudInvalidHttpResponseCodeException;

捕获异常,如

try {
    $client = new SoundcloudServices('key','key','http://domain.de');
    $tracks = $client->get('tracks', array('q' => $term, 'order' => 'hotness', 'filter' => 'public', 'limit' => 20));
} catch (ServicesSoundcloudInvalidHttpResponseCodeException $e) {
    $this->log = 'Exception abgefangen: '.  $e->getMessage(). "<br>";
}

示例

此封装包含用于代表认证用户执行 HTTP 请求的便捷方法。以下是一些快速示例。

当然,您需要先处理身份验证,然后才能像下面那样请求和修改受保护的资源。因此,我引用了示例应用程序,其中包含有关如何处理身份验证的示例代码。

GET

<?php
try {
    $response = json_decode($soundcloud->get('me'), true);
} catch (Services_Soundcloud_Invalid_Http_Response_Code_Exception $e) {
    exit($e->getMessage());
}

POST

<?php
$comment = <<<EOH
<comment>
    <body>Yeah!</body>
</comment>
EOH;

try {
    $response = json_decode(
        $soundcloud->post(
            'tracks/1/comments',
            $comment,
            array(CURLOPT_HTTPHEADER => array('Content-Type: application/xml'))
        ),
        true
    );
} catch (Services_Soundcloud_Invalid_Http_Response_Code_Exception $e) {
    exit($e->getMessage());
}

PUT

<?php
$track = <<<EOH
<track>
    <downloadable>true</downloadable>
</track>
EOH;

try {
    $response = json_decode(
        $soundcloud->put(
            'tracks/1',
            $track,
            array(CURLOPT_HTTPHEADER => array('Content-Type: application/xml'))
        ),
        true
    );
} catch (Services_Soundcloud_Invalid_Http_Response_Code_Exception $e) {
    exit($e->getMessage());
}

DELETE

<?php
try {
    $response = json_decode($soundcloud->delete('tracks/1'), true);
} catch (Services_Soundcloud_Invalid_Http_Response_Code_Exception $e) {
    exit($e->getMessage());
}

上传曲目

<?php
$track = array(
    'track[title]' => 'My awesome track',
    'track[tags]' => 'dubstep rofl',
    'track[asset_data]' => '@/absolute/path/to/track.mp3'
);
    
try {
    $response = $soundcloud->post('tracks', $track);
} catch (Services_Soundcloud_Invalid_Http_Response_Code_Exception $e) {
    exit($e->getMessage());
}

下载曲目

<?php
try {
    $track = $soundcloud->download(1337);
} catch (Services_Soundcloud_Invalid_Http_Response_Code_Exception $e) {
    exit($e->getMessage());
}

// do something clever with $track. Save to file perhaps?

更新播放列表

很多人发现很难更新现有的播放列表。因此,提供了一个自定义方法来简化这个问题。

<?php
$playlistId = 2000;
$trackIds = array(2001);
$optionalFields = array('title' => 'My awesome playlist');

try {
    $playlist = $soundcloud->updatePlaylist($playlistId, $trackIds, $optionalFields);
} catch (Services_Soundcloud_Invalid_Http_Response_Code_Exception $e) {
    exit($e->getMessage());
}

反馈和问题

发现了错误或缺少功能?请不要犹豫,在此 GitHub 上创建新问题。或者直接联系我直接

还请确保查看官方文档并加入Google Group,以保持最新。

许可证

版权所有 (c) 2011 Anton Lindqvist

特此授予任何获得本软件及其相关文档文件(以下简称“软件”)副本的人免费使用软件的权利,不受任何限制,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本的权利,以及允许向软件提供的人行使上述权利,前提是遵守以下条件

上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。

软件按“现状”提供,不提供任何形式的保证,明示或暗示,包括但不限于对适销性、适用于特定目的和非侵权性的保证。在任何情况下,作者或版权持有人均不对任何索赔、损害或其他责任负责,无论该责任是基于合同、侵权或其他原因,无论该索赔、损害或其他责任是否源于、源于或与软件或软件的使用或其他交易有关。