soundcloud 0.3.4 → 0.3.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: c72713993706bf79284fb1936da44dbca97e10bc
4
- data.tar.gz: 08da656e80c0fb4f93eec02e9e3551866556c6f8
2
+ SHA256:
3
+ metadata.gz: df5b0cab01fdc8985e0059c4fbaebbb29672f58c17c33ce1cce2765861eeee3c
4
+ data.tar.gz: 730fc7f919b60e2aa582e755560284ebc07957d51054115da4093adfa71ced0c
5
5
  SHA512:
6
- metadata.gz: ac1c7daaffee72bfa9f0bc48633c469c85d66d7485fde68d500ef3b58407a2433550e74aa45936aa7b64204724dff8129fdb39919fd7b75f8cd727057a28ac42
7
- data.tar.gz: b6afaf0438e78a8fd6009e28855984927d0960523a56d97f0b40ef2fd05b0db085e9f61b277485e799fbdb53cb65623e73c7558601ac649b1e05a179dbb0637a
6
+ metadata.gz: 93d8a10bd11b13c43b18e6c5449a3e640f0f43e93eb40473869f3326d84e4f6c4c347929acf9e93ddb0e4f1fa6cf8df75f68d25818636f6738efbe2a2dfafd54
7
+ data.tar.gz: 71e706b85e323052f13bd39c1f32368c4cbaaccb41ceaf5e2eed65438502dc025e8adf30191af06ae9ea35efad492faad3a85443ef2cb0d57b4ad0a0b29c6e66
data/README.md CHANGED
@@ -1,3 +1,10 @@
1
+ # ⚠️⚠️DEPRECATED - NO LONGER MAINTAINED⚠️⚠️
2
+ This repository is no longer maintained by the SoundCloud team due to capacity constraints. We're instead focusing our efforts on improving the API & the developer platform. Please note, at the time of updating this, the repo is already not in sync with the latest API changes.
3
+
4
+ We recommend the community to fork this repo in order to maintain the SDK. We'd be more than happy to make a reference on our developer that the developers can use different SDKs build by the community. In case you need to reach out to us, please head over to https://github.com/soundcloud/api/issues
5
+
6
+ ---
7
+
1
8
  # SoundCloud API Wrapper
2
9
 
3
10
  [![Build Status](https://travis-ci.org/soundcloud/soundcloud-ruby.png?branch=master)](https://travis-ci.org/soundcloud/soundcloud-ruby)
@@ -18,7 +18,7 @@ module SoundCloud
18
18
 
19
19
  def initialize(options={})
20
20
  store_options(options)
21
- if access_token.nil? && (options_for_refresh_flow_present? || options_for_credentials_flow_present? || options_for_code_flow_present?)
21
+ if access_token.nil? && (options_for_refresh_flow_present? || options_for_credentials_flow_present? || options_for_code_flow_present? || client_secret)
22
22
  exchange_token
23
23
  end
24
24
  raise ArgumentError, "At least a client_id or an access_token must be present" if client_id.nil? && access_token.nil?
@@ -108,13 +108,14 @@ module SoundCloud
108
108
  def exchange_token(options={})
109
109
  store_options(options)
110
110
  raise ArgumentError, 'client_id and client_secret is required to retrieve an access_token' if client_id.nil? || client_secret.nil?
111
- client_params = {:client_id => client_id, :client_secret => client_secret}
111
+
112
112
  params = if options_for_refresh_flow_present?
113
113
  {
114
114
  :grant_type => 'refresh_token',
115
115
  :refresh_token => refresh_token,
116
116
  }
117
117
  elsif options_for_credentials_flow_present?
118
+ puts "Warning: Password grant is deprecated, see https://developers.soundcloud.com/blog/security-updates-api"
118
119
  {
119
120
  :grant_type => 'password',
120
121
  :username => @options[:username],
@@ -126,11 +127,16 @@ module SoundCloud
126
127
  :redirect_uri => @options[:redirect_uri],
127
128
  :code => @options[:code],
128
129
  }
130
+ elsif client_secret
131
+ { :grant_type => 'client_credentials' }
129
132
  end
130
- params.merge!(client_params)
133
+
134
+ params.merge!(:client_id => client_id, :client_secret => client_secret)
135
+
131
136
  response = handle_response(false) {
132
137
  self.class.post("https://#{api_host}#{TOKEN_PATH}", :query => params)
133
138
  }
139
+
134
140
  @options.merge!(:access_token => response.access_token, :refresh_token => response.refresh_token)
135
141
  @options[:expires_at] = Time.now + response.expires_in if response.expires_in
136
142
  @options[:on_exchange_token].call(*[(self if @options[:on_exchange_token].arity == 1)].compact)
@@ -187,8 +193,9 @@ module SoundCloud
187
193
  options[body_or_query] ||= {}
188
194
  options[body_or_query][:format] = "json"
189
195
  if access_token
190
- options[body_or_query][:oauth_token] = access_token
196
+ options[:headers] = { 'Authorization' => "OAuth #{access_token}" }
191
197
  else
198
+ puts "Warning: Authorization via ClientId is deprecated, see https://developers.soundcloud.com/blog/security-updates-api"
192
199
  options[body_or_query][CLIENT_ID_PARAM_NAME] = client_id
193
200
  end
194
201
  [
@@ -200,6 +207,5 @@ module SoundCloud
200
207
  def response_is_a?(response, type)
201
208
  response.is_a?(type) || (response.respond_to?(:parsed_response) && response.parsed_response.is_a?(type))
202
209
  end
203
-
204
210
  end
205
211
  end
@@ -1,3 +1,3 @@
1
1
  module SoundCloud
2
- VERSION = '0.3.4'
2
+ VERSION = '0.3.5'
3
3
  end
metadata CHANGED
@@ -1,15 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: soundcloud
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.4
4
+ version: 0.3.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Johannes Wagener
8
8
  - Erik Michaels-Ober
9
- autorequire:
9
+ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2016-09-27 00:00:00.000000000 Z
12
+ date: 2021-09-24 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: httmultiparty
@@ -72,7 +72,7 @@ files:
72
72
  homepage: https://dev.soundcloud.com
73
73
  licenses: []
74
74
  metadata: {}
75
- post_install_message:
75
+ post_install_message:
76
76
  rdoc_options: []
77
77
  require_paths:
78
78
  - lib
@@ -87,9 +87,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
87
87
  - !ruby/object:Gem::Version
88
88
  version: 1.3.5
89
89
  requirements: []
90
- rubyforge_project:
91
- rubygems_version: 2.5.1
92
- signing_key:
90
+ rubygems_version: 3.1.2
91
+ signing_key:
93
92
  specification_version: 4
94
93
  summary: The official SoundCloud API wrapper.
95
94
  test_files: []