Skip to content

Commit e27e7e1

Browse files
committed
Add 'type' and 'id' fields to subscription objects
1 parent 3f2d5b6 commit e27e7e1

File tree

3 files changed

+47
-27
lines changed

3 files changed

+47
-27
lines changed

README.md

Lines changed: 2 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ Potential suffixes: `-draft`, TBD
1919

2020
#### `"subscriptions"`
2121

22-
An array of Subscription objects. See below for details.
22+
An array of [subscription objects](spec/subscription_object).
2323

2424
#### `"playlists"`
2525

@@ -40,36 +40,11 @@ Indicates whether the special playlist `watch_history` was included in the expor
4040
{
4141
"version": "X.Y.Z[-draft/-rc]",
4242
"watch_history_present": Boolean,
43-
"subscriptions": Subscriptions[],
43+
"subscriptions": SubscriptionObject[],
4444
"playlists": String[],
4545
}
4646
```
4747

48-
## Subscription object
49-
50-
#### > `"name"`
51-
52-
The name of the subscribed channel.
53-
54-
#### > `"url"`
55-
56-
The URL used to access the user subscribed channel.
57-
58-
#### > `"thumbnail"`
59-
60-
The URL to the user/channel's thumbnail.
61-
62-
### Example
63-
64-
```javascript
65-
{
66-
"name": "Linus Tech Tips",
67-
"url": "https://www.youtube.com/channel/UCXuqSBlHAE6Xw-yeJA0Tunw",
68-
"thumbnail": "https://yt3.ggpht.com/ytc/abcdef..."
69-
}
70-
```
71-
72-
7348
## Playlist file (`playlist_xxx.json`)
7449

7550
A playlist file MUST contain the data of a single playlist created by the user.

examples/main.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
"version": "0.0.2-draft",
33
"subscriptions": [
44
{
5+
"type": "youtube",
6+
"id": "UCXuqSBlHAE6Xw-yeJA0Tunw",
57
"name": "Linus Tech Tips",
68
"url": "https://www.youtube.com/channel/UCXuqSBlHAE6Xw-yeJA0Tunw",
79
"thumbnail": "https://yt3.ggpht.com/ytc/[snip]"

spec/subscription_object.md

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
# Subscription object
2+
3+
#### > `"type"`
4+
5+
The type of the service this entry refers to.
6+
7+
This field is a short and meaningful identifier that prevents the parser from
8+
trying to guess the name of the service from the `url` present in this object.
9+
10+
#### > `"id"`
11+
12+
The ID of the subscribed channel.
13+
14+
The format if this ID is service-dependant.
15+
16+
The only requirement being the uniqueness of the ID in the service.
17+
E.g: All youtube channel IDs (starting with `UC`) are unique to eachother.
18+
19+
#### > `"name"`
20+
21+
The name of the subscribed channel.
22+
23+
#### > `"url"`
24+
25+
The URL used to access the user subscribed channel.
26+
27+
This URL SHOULD NOT contain query parameters.
28+
29+
#### > `"thumbnail"`
30+
31+
The URL to the user/channel's thumbnail.
32+
33+
### Overview
34+
35+
```javascript
36+
{
37+
"type": String,
38+
"id": String,
39+
"name": String,
40+
"url": String,
41+
"thumbnail": String
42+
}
43+
```

0 commit comments

Comments
 (0)