apple_music 0.1.0 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.env.example +4 -0
- data/.gitignore +4 -0
- data/.rubocop.yml +11 -10
- data/.ruby-gemset +1 -0
- data/.ruby-version +1 -0
- data/Gemfile +1 -0
- data/Gemfile.lock +50 -35
- data/README.md +223 -1
- data/apple_music.gemspec +2 -1
- data/bin/console +3 -9
- data/bin/setup +1 -0
- data/lib/apple_music.rb +36 -0
- data/lib/apple_music/activity.rb +52 -0
- data/lib/apple_music/activity/attributes.rb +19 -0
- data/lib/apple_music/activity/relationships.rb +16 -0
- data/lib/apple_music/album.rb +62 -0
- data/lib/apple_music/album/attributes.rb +50 -0
- data/lib/apple_music/album/relationships.rb +18 -0
- data/lib/apple_music/apple_curator.rb +10 -0
- data/lib/apple_music/apple_curator/attributes.rb +19 -0
- data/lib/apple_music/apple_curator/relationships.rb +16 -0
- data/lib/apple_music/artist.rb +67 -0
- data/lib/apple_music/artist/attributes.rb +19 -0
- data/lib/apple_music/artist/relationships.rb +20 -0
- data/lib/apple_music/artwork.rb +30 -0
- data/lib/apple_music/chart.rb +33 -0
- data/lib/apple_music/chart_response.rb +21 -0
- data/lib/apple_music/config.rb +45 -0
- data/lib/apple_music/connection.rb +45 -0
- data/lib/apple_music/curator.rb +52 -0
- data/lib/apple_music/curator/attributes.rb +19 -0
- data/lib/apple_music/curator/relationships.rb +16 -0
- data/lib/apple_music/editorial_notes.rb +13 -0
- data/lib/apple_music/error.rb +27 -0
- data/lib/apple_music/genre.rb +38 -0
- data/lib/apple_music/genre/attributes.rb +16 -0
- data/lib/apple_music/music_video.rb +76 -0
- data/lib/apple_music/music_video/attributes.rb +42 -0
- data/lib/apple_music/music_video/relationships.rb +18 -0
- data/lib/apple_music/play_parameters.rb +13 -0
- data/lib/apple_music/playlist.rb +57 -0
- data/lib/apple_music/playlist/attributes.rb +45 -0
- data/lib/apple_music/playlist/relationships.rb +17 -0
- data/lib/apple_music/preview.rb +13 -0
- data/lib/apple_music/relationship.rb +23 -0
- data/lib/apple_music/resource.rb +57 -0
- data/lib/apple_music/response.rb +29 -0
- data/lib/apple_music/search.rb +39 -0
- data/lib/apple_music/search_result.rb +20 -0
- data/lib/apple_music/song.rb +81 -0
- data/lib/apple_music/song/attributes.rb +39 -0
- data/lib/apple_music/song/relationships.rb +19 -0
- data/lib/apple_music/station.rb +38 -0
- data/lib/apple_music/station/attributes.rb +27 -0
- data/lib/apple_music/storefront.rb +32 -0
- data/lib/apple_music/storefront/attributes.rb +18 -0
- data/lib/apple_music/version.rb +1 -1
- metadata +66 -5
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: d773101a4961951410d2edccd94c7dd2e76a98fa978eb45983271da26558c4bd
|
|
4
|
+
data.tar.gz: a46aa197c924a7408e57bad1b95a050aee764a8e85b00430c58d2e554d09ff62
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: c29ae368a3bf849a606679e09e43b8a91724abdd0955ac12e64566ada0daaa78e3af98999d2e35c14246f69947e7c2e666819236be19b5d83c6e4185ac2ed5e1
|
|
7
|
+
data.tar.gz: 2d9f3ee87e0e8f22033d464110e165ced128c704c92cfe0da9e81c5f2303e3d59e86d5e9286baa1649309d12fbb58f5b7210feb3fefeb8aab9f293335cf0e4dd
|
data/.env.example
ADDED
data/.gitignore
CHANGED
data/.rubocop.yml
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
1
|
+
Naming/PredicateName:
|
|
2
|
+
Enabled: false
|
|
3
|
+
|
|
4
|
+
Style/Documentation:
|
|
5
|
+
Enabled: false
|
|
6
|
+
|
|
7
|
+
Style/ClassAndModuleChildren:
|
|
8
|
+
Enabled: false
|
|
9
|
+
|
|
10
|
+
Metrics:
|
|
11
|
+
Enabled: false
|
data/.ruby-gemset
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
apple_music
|
data/.ruby-version
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
2.7.2
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
|
@@ -1,63 +1,78 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
apple_music (0.
|
|
5
|
-
faraday
|
|
4
|
+
apple_music (0.2.0)
|
|
5
|
+
faraday
|
|
6
|
+
faraday_middleware
|
|
6
7
|
jwt (>= 2.2)
|
|
7
8
|
|
|
8
9
|
GEM
|
|
9
10
|
remote: https://rubygems.org/
|
|
10
11
|
specs:
|
|
11
|
-
ast (2.4.
|
|
12
|
-
coderay (1.1.
|
|
13
|
-
diff-lcs (1.
|
|
14
|
-
|
|
12
|
+
ast (2.4.2)
|
|
13
|
+
coderay (1.1.3)
|
|
14
|
+
diff-lcs (1.4.4)
|
|
15
|
+
dotenv (2.7.6)
|
|
16
|
+
faraday (1.3.0)
|
|
17
|
+
faraday-net_http (~> 1.0)
|
|
15
18
|
multipart-post (>= 1.2, < 3)
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
+
ruby2_keywords
|
|
20
|
+
faraday-net_http (1.0.1)
|
|
21
|
+
faraday_middleware (1.0.0)
|
|
22
|
+
faraday (~> 1.0)
|
|
23
|
+
jwt (2.2.2)
|
|
24
|
+
method_source (1.0.0)
|
|
19
25
|
multipart-post (2.1.1)
|
|
20
|
-
parallel (1.
|
|
21
|
-
parser (
|
|
22
|
-
ast (~> 2.4.
|
|
23
|
-
pry (0.
|
|
24
|
-
coderay (~> 1.1
|
|
25
|
-
method_source (~>
|
|
26
|
+
parallel (1.20.1)
|
|
27
|
+
parser (3.0.0.0)
|
|
28
|
+
ast (~> 2.4.1)
|
|
29
|
+
pry (0.13.1)
|
|
30
|
+
coderay (~> 1.1)
|
|
31
|
+
method_source (~> 1.0)
|
|
26
32
|
rainbow (3.0.0)
|
|
27
|
-
rake (
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
rspec-
|
|
32
|
-
|
|
33
|
-
rspec-
|
|
34
|
-
rspec-
|
|
33
|
+
rake (13.0.3)
|
|
34
|
+
regexp_parser (2.0.3)
|
|
35
|
+
rexml (3.2.4)
|
|
36
|
+
rspec (3.10.0)
|
|
37
|
+
rspec-core (~> 3.10.0)
|
|
38
|
+
rspec-expectations (~> 3.10.0)
|
|
39
|
+
rspec-mocks (~> 3.10.0)
|
|
40
|
+
rspec-core (3.10.1)
|
|
41
|
+
rspec-support (~> 3.10.0)
|
|
42
|
+
rspec-expectations (3.10.1)
|
|
35
43
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
36
|
-
rspec-support (~> 3.
|
|
37
|
-
rspec-mocks (3.
|
|
44
|
+
rspec-support (~> 3.10.0)
|
|
45
|
+
rspec-mocks (3.10.2)
|
|
38
46
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
39
|
-
rspec-support (~> 3.
|
|
40
|
-
rspec-support (3.
|
|
41
|
-
rubocop (
|
|
42
|
-
jaro_winkler (~> 1.5.1)
|
|
47
|
+
rspec-support (~> 3.10.0)
|
|
48
|
+
rspec-support (3.10.2)
|
|
49
|
+
rubocop (1.9.1)
|
|
43
50
|
parallel (~> 1.10)
|
|
44
|
-
parser (>=
|
|
51
|
+
parser (>= 3.0.0.0)
|
|
45
52
|
rainbow (>= 2.2.2, < 4.0)
|
|
53
|
+
regexp_parser (>= 1.8, < 3.0)
|
|
54
|
+
rexml
|
|
55
|
+
rubocop-ast (>= 1.2.0, < 2.0)
|
|
46
56
|
ruby-progressbar (~> 1.7)
|
|
47
|
-
unicode-display_width (>= 1.4.0, <
|
|
48
|
-
|
|
49
|
-
|
|
57
|
+
unicode-display_width (>= 1.4.0, < 3.0)
|
|
58
|
+
rubocop-ast (1.4.1)
|
|
59
|
+
parser (>= 2.7.1.5)
|
|
60
|
+
ruby-progressbar (1.11.0)
|
|
61
|
+
ruby2_keywords (0.0.4)
|
|
62
|
+
unicode-display_width (2.0.0)
|
|
50
63
|
|
|
51
64
|
PLATFORMS
|
|
52
|
-
|
|
65
|
+
x86_64-darwin-18
|
|
66
|
+
x86_64-linux
|
|
53
67
|
|
|
54
68
|
DEPENDENCIES
|
|
55
69
|
apple_music!
|
|
56
70
|
bundler
|
|
71
|
+
dotenv
|
|
57
72
|
pry
|
|
58
73
|
rake
|
|
59
74
|
rspec
|
|
60
75
|
rubocop
|
|
61
76
|
|
|
62
77
|
BUNDLED WITH
|
|
63
|
-
2.
|
|
78
|
+
2.2.14
|
data/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# AppleMusic
|
|
2
2
|
|
|
3
|
-
Apple Music API
|
|
3
|
+
This is a ruby wrapper for the [Apple Music API](https://developer.apple.com/documentation/applemusicapi).
|
|
4
4
|
|
|
5
5
|
## Installation
|
|
6
6
|
|
|
@@ -18,6 +18,228 @@ Or install it yourself as:
|
|
|
18
18
|
|
|
19
19
|
$ gem install apple_music
|
|
20
20
|
|
|
21
|
+
## Usage
|
|
22
|
+
|
|
23
|
+
AppleMusic gem was designed with usability as its primary goal:
|
|
24
|
+
|
|
25
|
+
#### e.g. Search Artists
|
|
26
|
+
|
|
27
|
+
```ruby
|
|
28
|
+
artist = AppleMusic::Artist.search('Men I Trust').first # AppleMusic::Artist object
|
|
29
|
+
artist.genre_names # ['Electronic']
|
|
30
|
+
artist.id # "886240553"
|
|
31
|
+
albums = AppleMusic::Artist.related_albums(886240553).map(&:name) # ["Oncle Jazz", "Headroom"...
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
#### e.g. Search Albums
|
|
35
|
+
|
|
36
|
+
```ruby
|
|
37
|
+
albums = AppleMusic::Album.search('BILL EVANS') # AppleMusic::Album object
|
|
38
|
+
tracks = AppleMusic::Album.related_tracks(albums[0].id)
|
|
39
|
+
tracks.first.name # "Waltz for Debby"
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
#### e.g. Search Songs
|
|
43
|
+
|
|
44
|
+
```ruby
|
|
45
|
+
songs = AppleMusic::Song.search('Document', storefront: :jp) # AppleMusic::Song object
|
|
46
|
+
songs[0].artist_name # "TENDRE"
|
|
47
|
+
songs[0].album_name # "NOT IN ALMIGHTY"
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
## Features
|
|
51
|
+
|
|
52
|
+
Currently, it work in progress, so it can use apis which does not need user token.
|
|
53
|
+
|
|
54
|
+
### Albums
|
|
55
|
+
|
|
56
|
+
| Feature | Status | Docs | Code |
|
|
57
|
+
|:--------|:------:|:----:|:----:|
|
|
58
|
+
| Get a Catalog Album | :white_check_mark: | [:link:](https://developer.apple.com/documentation/applemusicapi/get_a_catalog_album) | [:octocat:](#) |
|
|
59
|
+
| Get a Catalog Album's Relationship Directly by Name | :white_check_mark: | [:link:](https://developer.apple.com/documentation/applemusicapi/get_a_catalog_album_s_relationship_directly_by_name) | [:octocat:](#) |
|
|
60
|
+
| Get Multiple Catalog Albums | :white_check_mark: | [:link:](https://developer.apple.com/documentation/applemusicapi/get_multiple_catalog_albums) | [:octocat:](#) |
|
|
61
|
+
| Get a Library Album | :no_entry: | [:link:](https://developer.apple.com/documentation/applemusicapi/get_a_library_album) | |
|
|
62
|
+
| Get a Library Album's Relationship Directly by Name | :no_entry: | [:link:](https://developer.apple.com/documentation/applemusicapi/get_a_library_album_s_relationship_directly_by_name) | |
|
|
63
|
+
| Get Multiple Library Albums | :no_entry: | [:link:](https://developer.apple.com/documentation/applemusicapi/get_multiple_library_albums) | |
|
|
64
|
+
| Get All Library Albums | :no_entry: | [:link:](https://developer.apple.com/documentation/applemusicapi/get_all_library_albums) | |
|
|
65
|
+
|
|
66
|
+
### Artists
|
|
67
|
+
|
|
68
|
+
| Feature | Status | Docs | Code |
|
|
69
|
+
|:--------|:------:|:----:|:----:|
|
|
70
|
+
| Get a Catalog Artist | :white_check_mark: | [:link:](https://developer.apple.com/documentation/applemusicapi/get_a_catalog_artist) | [:octocat:](#) |
|
|
71
|
+
| Get Multiple Catalog Artists | :white_check_mark: | [:link:](https://developer.apple.com/documentation/applemusicapi/get_multiple_catalog_artists) | [:octocat:](#) |
|
|
72
|
+
| Get a Catalog Artist's Relationship Directly by Name | :white_check_mark: | [:link:](https://developer.apple.com/documentation/applemusicapi/get_a_catalog_artist_s_relationship_directly_by_name) | [:octocat:](#) |
|
|
73
|
+
| Get a Library Artist | :no_entry: | [:link:](https://developer.apple.com/documentation/applemusicapi/get_a_library_artist) | |
|
|
74
|
+
| Get All Library Artists | :no_entry: | [:link:](https://developer.apple.com/documentation/applemusicapi/get_all_library_artists) | |
|
|
75
|
+
| Get Multiple Library Artists | :no_entry: | [:link:](https://developer.apple.com/documentation/applemusicapi/get_multiple_library_artists) | |
|
|
76
|
+
| Get a Library Artist's Relationship Directly by Name | :no_entry: | [:link:](https://developer.apple.com/documentation/applemusicapi/get_a_library_artist_s_relationship_directly_by_name) | |
|
|
77
|
+
|
|
78
|
+
### Songs
|
|
79
|
+
|
|
80
|
+
| Feature | Status | Docs | Code |
|
|
81
|
+
|:--------|:------:|:----:|:----:|
|
|
82
|
+
| Get a Catalog Song | :white_check_mark: | [:link:](https://developer.apple.com/documentation/applemusicapi/get_a_catalog_song) | [:octocat:](#) |
|
|
83
|
+
| Get Multiple Catalog Songs by ID | :white_check_mark: | [:link:](https://developer.apple.com/documentation/applemusicapi/get_multiple_catalog_songs_by_id) | [:octocat:](#) |
|
|
84
|
+
| Get Multiple Catalog Songs by ISRC | :white_check_mark: | [:link:](https://developer.apple.com/documentation/applemusicapi/get_multiple_catalog_songs_by_isrc) | [:octocat:](#) |
|
|
85
|
+
| Get a Catalog Song's Relationship Directly by Name | :white_check_mark: | [:link:](https://developer.apple.com/documentation/applemusicapi/get_a_catalog_song_s_relationship_directly_by_name) | [:octocat:](#) |
|
|
86
|
+
| Get a Library Song | :no_entry: | [:link:](https://developer.apple.com/documentation/applemusicapi/get_a_library_song) | |
|
|
87
|
+
| Get All Library Songs | :no_entry: | [:link:](https://developer.apple.com/documentation/applemusicapi/get_all_library_songs) | |
|
|
88
|
+
| Get Multiple Library Songs | :no_entry: | [:link:](https://developer.apple.com/documentation/applemusicapi/get_multiple_library_songs) | |
|
|
89
|
+
| Get a Library Song's Relationship Directly by Name | :no_entry: | [:link:](https://developer.apple.com/documentation/applemusicapi/get_a_library_song_s_relationship_directly_by_name) | |
|
|
90
|
+
|
|
91
|
+
### Music Videos
|
|
92
|
+
|
|
93
|
+
| Feature | Status | Docs | Code |
|
|
94
|
+
|:--------|:------:|:----:|:----:|
|
|
95
|
+
| Get a Catalog Music Video | :white_check_mark: | [:link:](https://developer.apple.com/documentation/applemusicapi/get_a_catalog_music_video) | [:octocat:](#) |
|
|
96
|
+
| Get a Catalog Music Video's Relationship Directly by Name | :white_check_mark: | [:link:](https://developer.apple.com/documentation/applemusicapi/get_a_catalog_music_video_s_relationship_directly_by_name) | [:octocat:](#) |
|
|
97
|
+
| Get Multiple Catalog Music Videos by ID | :white_check_mark: | [:link:](https://developer.apple.com/documentation/applemusicapi/get_multiple_catalog_music_videos_by_id) | [:octocat:](#) |
|
|
98
|
+
| Get Multiple Catalog Music Videos by ISRC | :white_check_mark: | [:link:](https://developer.apple.com/documentation/applemusicapi/get_multiple_catalog_music_videos_by_isrc) | [:octocat:](#) |
|
|
99
|
+
| Get a Library Music Video | :no_entry: | [:link:](https://developer.apple.com/documentation/applemusicapi/get_a_library_music_video) | |
|
|
100
|
+
| Get a Library Music Video's Relationship Directly by Name | :no_entry: | [:link:](https://developer.apple.com/documentation/applemusicapi/get_a_library_music_video_s_relationship_directly_by_name) | |
|
|
101
|
+
| Get Multiple Library Music Videos | :no_entry: | [:link:](https://developer.apple.com/documentation/applemusicapi/get_multiple_library_music_videos) | |
|
|
102
|
+
| Get All Library Music Videos | :no_entry: | [:link:](https://developer.apple.com/documentation/applemusicapi/get_all_library_music_videos) | |
|
|
103
|
+
|
|
104
|
+
### Playlists
|
|
105
|
+
|
|
106
|
+
| Feature | Status | Docs | Code |
|
|
107
|
+
|:--------|:------:|:----:|:----:|
|
|
108
|
+
| Get a Catalog Playlist | :white_check_mark: | [:link:](https://developer.apple.com/documentation/applemusicapi/get_a_catalog_playlist) | [:octocat:](#) |
|
|
109
|
+
| Get a Catalog Playlist's Relationship Directly by Name | :white_check_mark: | [:link:](https://developer.apple.com/documentation/applemusicapi/get_a_catalog_playlist_s_relationship_directly_by_name) | [:octocat:](#) |
|
|
110
|
+
| Get Multiple Catalog Playlists | :white_check_mark: | [:link:](https://developer.apple.com/documentation/applemusicapi/get_multiple_catalog_playlists) | [:octocat:](#) |
|
|
111
|
+
| Get a Library Playlist | :no_entry: | [:link:](https://developer.apple.com/documentation/applemusicapi/get_a_library_playlist) | |
|
|
112
|
+
| Get a Library Playlist's Relationship Directly by Name | :no_entry: | [:link:](https://developer.apple.com/documentation/applemusicapi/get_a_library_playlist_s_relationship_directly_by_name) | |
|
|
113
|
+
| Get Multiple Library Playlists | :no_entry: | [:link:](https://developer.apple.com/documentation/applemusicapi/get_multiple_library_playlists) | |
|
|
114
|
+
| Get All Library Playlists | :no_entry: | [:link:](https://developer.apple.com/documentation/applemusicapi/get_all_library_playlists) | |
|
|
115
|
+
|
|
116
|
+
### Apple Music Stations
|
|
117
|
+
|
|
118
|
+
| Feature | Status | Docs | Code |
|
|
119
|
+
|:--------|:------:|:----:|:----:|
|
|
120
|
+
| Get a Catalog Station | :white_check_mark: | [:link:](https://developer.apple.com/documentation/applemusicapi/get_a_catalog_station) | [:octocat:](#) |
|
|
121
|
+
| Get Multiple Catalog Stations | :white_check_mark: | [:link:](https://developer.apple.com/documentation/applemusicapi/get_multiple_catalog_stations) | [:octocat:](#) |
|
|
122
|
+
|
|
123
|
+
### Search
|
|
124
|
+
|
|
125
|
+
| Feature | Status | Docs | Code |
|
|
126
|
+
|:--------|:------:|:----:|:----:|
|
|
127
|
+
| Search for Catalog Resources | :white_check_mark: | [:link:](https://developer.apple.com/documentation/applemusicapi/search_for_catalog_resources) | [:octocat:](#) |
|
|
128
|
+
| Get Catalog Search Hints | :white_check_mark: | [:link:](https://developer.apple.com/documentation/applemusicapi/get_catalog_search_hints) | [:octocat:](#) |
|
|
129
|
+
| Search for Library Resources | :no_entry: | [:link:](https://developer.apple.com/documentation/applemusicapi/search_for_library_resources) | |
|
|
130
|
+
|
|
131
|
+
### Ratings
|
|
132
|
+
|
|
133
|
+
| Feature | Status | Docs | Code |
|
|
134
|
+
|:--------|:------:|:----:|:----:|
|
|
135
|
+
| Get a Personal Album Rating | :no_entry: | [:link:](https://developer.apple.com/documentation/applemusicapi/get_a_personal_album_rating) | |
|
|
136
|
+
| Get a Personal Music Video Rating | :no_entry: | [:link:](https://developer.apple.com/documentation/applemusicapi/get_a_personal_music_video_rating) | |
|
|
137
|
+
| Get a Personal Playlist Rating | :no_entry: | [:link:](https://developer.apple.com/documentation/applemusicapi/get_a_personal_playlist_rating) | |
|
|
138
|
+
| Get a Personal Song Rating | :no_entry: | [:link:](https://developer.apple.com/documentation/applemusicapi/get_a_personal_song_rating) | |
|
|
139
|
+
| Get a Personal Station Rating | :no_entry: | [:link:](https://developer.apple.com/documentation/applemusicapi/get_a_personal_station_rating) | |
|
|
140
|
+
| Get Multiple Personal Album Ratings | :no_entry: | [:link:](https://developer.apple.com/documentation/applemusicapi/get_multiple_personal_album_ratings) | |
|
|
141
|
+
| Get Multiple Personal Music Video Ratings | :no_entry: | [:link:](https://developer.apple.com/documentation/applemusicapi/get_multiple_personal_music_video_ratings) | |
|
|
142
|
+
| Get Multiple Personal Playlist Ratings | :no_entry: | [:link:](https://developer.apple.com/documentation/applemusicapi/get_multiple_personal_playlist_ratings) | |
|
|
143
|
+
| Get Multiple Personal Song Ratings | :no_entry: | [:link:](https://developer.apple.com/documentation/applemusicapi/get_multiple_personal_song_ratings) | |
|
|
144
|
+
| Get Multiple Personal Station Ratings | :no_entry: | [:link:](https://developer.apple.com/documentation/applemusicapi/get_multiple_personal_station_ratings) | |
|
|
145
|
+
| Add a Personal Album Rating | :no_entry: | [:link:](https://developer.apple.com/documentation/applemusicapi/add_a_personal_album_rating) | |
|
|
146
|
+
| Add a Personal Music Video Rating | :no_entry: | [:link:](https://developer.apple.com/documentation/applemusicapi/add_a_personal_music_video_rating) | |
|
|
147
|
+
| Add a Personal Playlist Rating | :no_entry: | [:link:](https://developer.apple.com/documentation/applemusicapi/add_a_personal_playlist_rating) | |
|
|
148
|
+
| Add a Personal Song Rating | :no_entry: | [:link:](https://developer.apple.com/documentation/applemusicapi/add_a_personal_song_rating) | |
|
|
149
|
+
| Add a Personal Station Rating | :no_entry: | [:link:](https://developer.apple.com/documentation/applemusicapi/add_a_personal_station_rating) | |
|
|
150
|
+
| Delete a Personal Album Rating | :no_entry: | [:link:](https://developer.apple.com/documentation/applemusicapi/delete_a_personal_album_rating) | |
|
|
151
|
+
| Delete a Personal Music Video Rating | :no_entry: | [:link:](https://developer.apple.com/documentation/applemusicapi/delete_a_personal_music_video_rating) | |
|
|
152
|
+
| Delete a Personal Playlist Rating | :no_entry: | [:link:](https://developer.apple.com/documentation/applemusicapi/delete_a_personal_playlist_rating) | |
|
|
153
|
+
| Delete a Personal Song Rating | :no_entry: | [:link:](https://developer.apple.com/documentation/applemusicapi/delete_a_personal_song_rating) | |
|
|
154
|
+
| Delete a Personal Station Rating | :no_entry: | [:link:](https://developer.apple.com/documentation/applemusicapi/delete_a_personal_station_rating) | |
|
|
155
|
+
| Get a Personal Library Music Video Rating | :no_entry: | [:link:](https://developer.apple.com/documentation/applemusicapi/get_a_personal_library_music_video_rating) | |
|
|
156
|
+
| Get a Personal Library Playlist Rating | :no_entry: | [:link:](https://developer.apple.com/documentation/applemusicapi/get_a_personal_library_playlist_rating) | |
|
|
157
|
+
| Get a Personal Library Song Rating | :no_entry: | [:link:](https://developer.apple.com/documentation/applemusicapi/get_a_personal_library_song_rating) | |
|
|
158
|
+
| Get Multiple Personal Library Music Video Ratings | :no_entry: | [:link:](https://developer.apple.com/documentation/applemusicapi/get_multiple_personal_library_music_video_ratings) | |
|
|
159
|
+
| Get Multiple Personal Library Playlist Ratings | :no_entry: | [:link:](https://developer.apple.com/documentation/applemusicapi/get_multiple_personal_library_playlist_ratings) | |
|
|
160
|
+
| Get Multiple Personal Library Songs Ratings | :no_entry: | [:link:](https://developer.apple.com/documentation/applemusicapi/get_multiple_personal_library_songs_ratings) | |
|
|
161
|
+
| Add a Personal Library Music Video Rating | :no_entry: | [:link:](https://developer.apple.com/documentation/applemusicapi/add_a_personal_library_music_video_rating) | |
|
|
162
|
+
| Add a Personal Library Playlist Rating | :no_entry: | [:link:](https://developer.apple.com/documentation/applemusicapi/add_a_personal_library_playlist_rating) | |
|
|
163
|
+
| Add a Personal Library Song Rating | :no_entry: | [:link:](https://developer.apple.com/documentation/applemusicapi/add_a_personal_library_song_rating) | |
|
|
164
|
+
| Delete a Personal Library Music Video Rating | :no_entry: | [:link:](https://developer.apple.com/documentation/applemusicapi/delete_a_personal_library_music_video_rating) | |
|
|
165
|
+
| Delete a Personal Library Playlist Rating | :no_entry: | [:link:](https://developer.apple.com/documentation/applemusicapi/delete_a_personal_library_playlist_rating) | |
|
|
166
|
+
| Delete a Personal Library Song Rating | :no_entry: | [:link:](https://developer.apple.com/documentation/applemusicapi/delete_a_personal_library_song_rating) | |
|
|
167
|
+
|
|
168
|
+
### Charts
|
|
169
|
+
|
|
170
|
+
| Feature | Status | Docs | Code |
|
|
171
|
+
|:--------|:------:|:----:|:----:|
|
|
172
|
+
| Get Catalog Charts | :white_check_mark: | [:link:](https://developer.apple.com/documentation/applemusicapi/get_catalog_charts) | [:octocat:](#) |
|
|
173
|
+
|
|
174
|
+
### Music Genres
|
|
175
|
+
|
|
176
|
+
| Feature | Status | Docs | Code |
|
|
177
|
+
|:--------|:------:|:----:|:----:|
|
|
178
|
+
| Get a Catalog Genre | :white_check_mark: | [:link:](https://developer.apple.com/documentation/applemusicapi/get_a_catalog_genre) | [:octocat:](#) |
|
|
179
|
+
| Get a Catalog Genre's Relationship Directly by Name | :white_check_mark: | [:link:](https://developer.apple.com/documentation/applemusicapi/get_a_catalog_genre_s_relationship_directly_by_name) | [:octocat:](#) |
|
|
180
|
+
| Get Multiple Catalog Genres | :white_check_mark: | [:link:](https://developer.apple.com/documentation/applemusicapi/get_multiple_catalog_genres) | [:octocat:](#) |
|
|
181
|
+
| Get Catalog Top Charts Genres | :white_check_mark: | [:link:](https://developer.apple.com/documentation/applemusicapi/get_catalog_top_charts_genres) | [:octocat:](#) |
|
|
182
|
+
|
|
183
|
+
### Curators
|
|
184
|
+
|
|
185
|
+
| Feature | Status | Docs | Code |
|
|
186
|
+
|:--------|:------:|:----:|:----:|
|
|
187
|
+
| Get a Catalog Curator | :white_check_mark: | [:link:](https://developer.apple.com/documentation/applemusicapi/get_a_catalog_curator) | [:octocat:](#) |
|
|
188
|
+
| Get a Catalog Curator's Relationship Directly by Name | :white_check_mark: | [:link:](https://developer.apple.com/documentation/applemusicapi/get_a_catalog_curator_s_relationship_directly_by_name) | [:octocat:](#) |
|
|
189
|
+
| Get Multiple Catalog Curators | :white_check_mark: | [:link:](https://developer.apple.com/documentation/applemusicapi/get_multiple_catalog_curators) | [:octocat:](#) |
|
|
190
|
+
| Get a Catalog Apple Curator | :no_entry: | [:link:](https://developer.apple.com/documentation/applemusicapi/get_a_catalog_apple_curator) | |
|
|
191
|
+
| Get a Catalog Apple Curator's Relationship Directly by Name | :no_entry: | [:link:](https://developer.apple.com/documentation/applemusicapi/get_a_catalog_apple_curator_s_relationship_directly_by_name) | |
|
|
192
|
+
| Get Multiple Catalog Apple Curators | :no_entry: | [:link:](https://developer.apple.com/documentation/applemusicapi/get_multiple_catalog_apple_curators) | |
|
|
193
|
+
|
|
194
|
+
### Recommendations
|
|
195
|
+
|
|
196
|
+
| Feature | Status | Docs | Code |
|
|
197
|
+
|:--------|:------:|:----:|:----:|
|
|
198
|
+
| Get a Recommendation | :no_entry: | [:link:](https://developer.apple.com/documentation/applemusicapi/get_a_recommendation) | |
|
|
199
|
+
| Get Multiple Recommendations | :no_entry: | [:link:](https://developer.apple.com/documentation/applemusicapi/get_multiple_recommendations) | |
|
|
200
|
+
| Get Default Recommendations | :no_entry: | [:link:](https://developer.apple.com/documentation/applemusicapi/get_default_recommendations) | |
|
|
201
|
+
|
|
202
|
+
### Activities
|
|
203
|
+
|
|
204
|
+
| Feature | Status | Docs | Code |
|
|
205
|
+
|:--------|:------:|:----:|:----:|
|
|
206
|
+
| Get a Catalog Activity | :white_check_mark: | [:link:](https://developer.apple.com/documentation/applemusicapi/get_a_catalog_activity) | [:octocat:](#) |
|
|
207
|
+
| Get a Catalog Activity's Relationship Directly by Name | :white_check_mark: | [:link:](https://developer.apple.com/documentation/applemusicapi/get_a_catalog_activity_s_relationship_directly_by_name) | [:octocat:](#) |
|
|
208
|
+
| Get Multiple Catalog Activities | :white_check_mark: | [:link:](https://developer.apple.com/documentation/applemusicapi/get_multiple_catalog_activities) | [:octocat:](#) |
|
|
209
|
+
|
|
210
|
+
### History
|
|
211
|
+
|
|
212
|
+
| Feature | Status | Docs | Code |
|
|
213
|
+
|:--------|:------:|:----:|:----:|
|
|
214
|
+
| Get Heavy Rotation Content | :no_entry: | [:link:](https://developer.apple.com/documentation/applemusicapi/get_heavy_rotation_content) | |
|
|
215
|
+
| Get Recently Played Resources | :no_entry: | [:link:](https://developer.apple.com/documentation/applemusicapi/get_recently_played_resources) | |
|
|
216
|
+
| Get Recently Played Stations | :no_entry: | [:link:](https://developer.apple.com/documentation/applemusicapi/get_recently_played_stations) | |
|
|
217
|
+
| Get Recently Added Resources | :no_entry: | [:link:](https://developer.apple.com/documentation/applemusicapi/get_recently_added_resources) | |
|
|
218
|
+
|
|
219
|
+
### Storefronts and Localization
|
|
220
|
+
|
|
221
|
+
| Feature | Status | Docs | Code |
|
|
222
|
+
|:--------|:------:|:----:|:----:|
|
|
223
|
+
| Get a User's Storefront | :white_check_mark: | [:link:](https://developer.apple.com/documentation/applemusicapi/get_a_user_s_storefront) | [:octocat:](#) |
|
|
224
|
+
| Get a Storefront | :white_check_mark: | [:link:](https://developer.apple.com/documentation/applemusicapi/get_a_storefront) | [:octocat:](#) |
|
|
225
|
+
| Get Multiple Storefronts | :white_check_mark: | [:link:](https://developer.apple.com/documentation/applemusicapi/get_multiple_storefronts) | [:octocat:](#) |
|
|
226
|
+
| Get All Storefronts | :white_check_mark: | [:link:](https://developer.apple.com/documentation/applemusicapi/get_all_storefronts) | [:octocat:](#) |
|
|
227
|
+
|
|
228
|
+
## Configuration
|
|
229
|
+
|
|
230
|
+
**NOTE** It's necessary to prepare an `TEAM_ID`, `MUSIC_ID`, and a secret file in advance. Please confirm [Apple Developer Website](https://developer.apple.com/).
|
|
231
|
+
|
|
232
|
+
It can be set by either an `ENV` variable or an `config/initializers/apple_music.rb`:
|
|
233
|
+
|
|
234
|
+
```ruby
|
|
235
|
+
AppleMusic.configure do |config|
|
|
236
|
+
config.secret_key_path = './AuthKey_MUSIC_ID.p8' # or ENV['APPLE_MUSIC_SECRET_KEY_PATH']
|
|
237
|
+
config.team_id = 'YOUR TEAM_ID' # or ENV['APPLE_MUSIC_TEAM_ID']
|
|
238
|
+
config.music_id = 'YOUR MUSIC_ID' # or ENV['APPLE_MUSIC_MUSIC_ID']
|
|
239
|
+
config.storefront = 'jp' # or ENV['APPLE_MUSIC_STOREFRONT'] ('us' by default)
|
|
240
|
+
end
|
|
241
|
+
```
|
|
242
|
+
|
|
21
243
|
## License
|
|
22
244
|
|
|
23
245
|
MIT
|
data/apple_music.gemspec
CHANGED
|
@@ -24,7 +24,8 @@ Gem::Specification.new do |s|
|
|
|
24
24
|
s.executables = s.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
|
25
25
|
s.require_paths = ['lib']
|
|
26
26
|
|
|
27
|
-
s.add_dependency 'faraday'
|
|
27
|
+
s.add_dependency 'faraday'
|
|
28
|
+
s.add_dependency 'faraday_middleware'
|
|
28
29
|
s.add_dependency 'jwt', '>= 2.2'
|
|
29
30
|
|
|
30
31
|
s.add_development_dependency 'bundler'
|
data/bin/console
CHANGED
|
@@ -2,14 +2,8 @@
|
|
|
2
2
|
# frozen_string_literal: true
|
|
3
3
|
|
|
4
4
|
require 'bundler/setup'
|
|
5
|
+
require 'dotenv/load'
|
|
5
6
|
require 'apple_music'
|
|
6
7
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
# (If you use this, don't forget to add pry to your Gemfile!)
|
|
11
|
-
# require "pry"
|
|
12
|
-
# Pry.start
|
|
13
|
-
|
|
14
|
-
require 'irb'
|
|
15
|
-
IRB.start(__FILE__)
|
|
8
|
+
require 'pry'
|
|
9
|
+
Pry.start
|
data/bin/setup
CHANGED