{"id":17861115,"url":"https://github.com/jonathanstowe/webservice-soundcloud","last_synced_at":"2026-05-09T09:56:00.671Z","repository":{"id":66980531,"uuid":"8599958","full_name":"jonathanstowe/WebService-Soundcloud","owner":"jonathanstowe","description":"Provide a Raku interface to the Soundcloud REST API.","archived":false,"fork":false,"pushed_at":"2022-08-07T08:46:42.000Z","size":102,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-07-30T20:11:35.906Z","etag":null,"topics":["api","json","raku","soundcloud","webservice"],"latest_commit_sha":null,"homepage":"","language":"Raku","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"artistic-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jonathanstowe.png","metadata":{"files":{"readme":"README.md","changelog":"Changes","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2013-03-06T09:20:24.000Z","updated_at":"2022-08-07T08:46:46.000Z","dependencies_parsed_at":"2023-02-25T01:30:53.491Z","dependency_job_id":null,"html_url":"https://github.com/jonathanstowe/WebService-Soundcloud","commit_stats":null,"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonathanstowe%2FWebService-Soundcloud","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonathanstowe%2FWebService-Soundcloud/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonathanstowe%2FWebService-Soundcloud/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonathanstowe%2FWebService-Soundcloud/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jonathanstowe","download_url":"https://codeload.github.com/jonathanstowe/WebService-Soundcloud/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246892791,"owners_count":20850846,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","json","raku","soundcloud","webservice"],"created_at":"2024-10-28T08:42:57.350Z","updated_at":"2026-05-09T09:55:55.644Z","avatar_url":"https://github.com/jonathanstowe.png","language":"Raku","funding_links":[],"categories":[],"sub_categories":[],"readme":"# WebService::Soundcloud \n\n\nProvide a Raku interface to the Soundcloud REST API.\n\n![Build Status](https://github.com/jonathanstowe/WebService-Soundcloud/workflows/CI/badge.svg)\n\n## Synopsis\n\nYou can use the Full OAuth flow:\n\n```raku\n\n    use WebService::Soundcloud;\n    \n    my $scloud = WebService::Soundcloud.new(:$client-id, :$client-secret, redirect-uri =\u003e 'http://mydomain.com/callback' );\n    \n    # Now get authorization url\n    my $authorization_url = $scloud.get-authorization-url();\n    \n    # Now your appplication should redirect the user to the authorization uri\n    # When the User has authenticated and approved the connection they will\n    # in turn be redirected back to your redirect URI with either the grant code\n    # (as code) or an error (as error) as query parameters\n    \n    # Get Access Token with the code provided as query parameter to the redirect\n    my $access_token = $scloud.get-access-token($code);\n    \n    # Save access_token and refresh_token, expires_in, scope for future use\n    my $oauth_token = $access_token\u003caccess_token\u003e;\n    \n    # a GET request '/me' - gets users details\n    my $user = $scloud-\u003eget('/me');\n    \n    # a PUT request '/me' - updated users details\n    my $user = $scloud-\u003eput('/me', to-json( { user =\u003e { description =\u003e 'Have fun with the Raku wrapper to Soundcloud API' } } ) );\n                \n    # Comment on a Track PoSt request usage\n    my $comment = $scloud-\u003epost('/tracks/\u003ctrack_id\u003e/comments', \n                            { body =\u003e 'I love this hip-hop track' } );\n    \n    # Delete a track\n    my $track = $scloud-\u003edelete('/tracks/{id}');\n    \n```\n\nor you can use direct credential based authorisation that can skip the redirections:\n\n```raku\n\n    use WebService::Soundcloud;\n\n\n    my $sc = WebService::Soundcloud.new(:$client-id,:$client-secret,:$username,:$password);\n\n    # Because the credentials were provided  the access-token can be requested directly\n    # without the need for a grant code\n    my $token = $sc.get-access-token();\n    my $me = $sc.get-object('/me');\n    my $tracks = $sc.get-list('/me/tracks');\n\n```\n\n\n## Description\n\nThis provides an interface to the [Soundcloud\nAPI](https://developers.soundcloud.com/docs/api/reference), managing\nthe authorisation, connection and marshalling of the data.\n\nYou can build client side applications that authenticate with user\ncredentials or server applications that use the full OAuth authorization.\n\nIn order to use this module you will need to register your application\nwith Soundcloud at http://soundcloud.com/you/apps : your application will\nbe given a client ID and a client secret which you will need to use to\nconnect. The client ID used in the tests will not work correctly for your\nown application as the callback URI is set to 'localhost'.\n\n## Installation\n\nIf you have a working Rakudo installation can install directly with \"zef\":\n\n    # From the source directory\n   \n    zef install .\n\n    # Remote installation\n\n    zef install WebService::Soundcloud\n\n## Support\n\nSuggestions/patches are welcomed via github at:\n\nhttps://github.com/jonathanstowe/WebService-Soundcloud/issues\n\n## Licence\n\nThis is free software.\n\nPlease see the [LICENCE](LICENCE) file in the distribution\n\n© Jonathan Stowe 2015 - 2021\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjonathanstowe%2Fwebservice-soundcloud","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjonathanstowe%2Fwebservice-soundcloud","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjonathanstowe%2Fwebservice-soundcloud/lists"}