| Next revision | Previous revision |
| fip [2019/07/27 12:34] – created tom | fip [2020/02/13 05:32] (current) – tom |
|---|
| |
| Meilleure radio du monde. | Meilleure radio du monde. |
| | |
| | ===== API ===== |
| | |
| | ==== Endpoint ==== |
| | |
| | URL non encodée pour FIP Groove : ''<nowiki>https://www.fip.fr/latest/api/graphql?operationName=Now&variables={"bannerPreset":"600x600-noTransform","stationId":66,"previousTrackLimit":3}&extensions={"persistedQuery":{"version":1,"sha256Hash":"8a931c7d177ff69709a79f4c213bd2403f0c11836c560bc22da55628d8100df8"}}</nowiki>'' |
| | |
| | === variables === |
| | |
| | <code json> |
| | { |
| | "bannerPreset": "600x600-noTransform", |
| | "stationId": 69, |
| | "previousTrackLimit": 3 |
| | } |
| | </code> |
| | |
| | * ''bannerPreset'' : optionnel |
| | * réponse identique si omis |
| | * ''stationId'' : requis |
| | * ''previousTrackLimit'' : requis |
| | * ''Variable "$previousTrackLimit" of required type "Int!" was not provided.'' |
| | * maximum: 100 |
| | |
| | === extensions === |
| | |
| | <code json> |
| | { |
| | "persistedQuery": { |
| | "version": 1, |
| | "sha256Hash": "8a931c7d177ff69709a79f4c213bd2403f0c11836c560bc22da55628d8100df8" |
| | } |
| | } |
| | </code> |
| | |
| | ==== stationId ==== |
| | |
| | ^ Radio ^ stationId ^ |
| | | FIP | 7 | |
| | | FIP tout nouveau, tout FIP | 70 | |
| | | FIP autour du reggae | 71 | |
| | | FIP autour de l'électro | 74 | |
| | | FIP autour du rock | 70 | |
| | | FIP autour du jazz | 65 | |
| | | FIP autour du groove | 66 | |
| | | FIP autour du monde | 69 | |
| | |
| | (d'autres URL sur [[https://github.com/adblockradio/webradio-metadata/blob/master/parsers/France/index.js|adblockradio/webradio-metadata]]) |
| | |
| | ==== Requête ==== |
| | |
| | ''<nowiki>curl "https://www.fip.fr/latest/api/graphql?operationName=Now&variables=%7B%22bannerPreset%22%3A%22600x600-noTransform%22%2C%22stationId%22%3A66%2C%22previousTrackLimit%22%3A3%7D&extensions=%7B%22persistedQuery%22%3A%7B%22version%22%3A1%2C%22sha256Hash%22%3A%228a931c7d177ff69709a79f4c213bd2403f0c11836c560bc22da55628d8100df8%22%7D%7D" | jq .</nowiki>'' |
| | |
| | ==== Reply ==== |
| | |
| | <code json> |
| | { |
| | "data": { |
| | "now": { |
| | "__typename": "Now", |
| | "playing_item": { |
| | "__typename": "TimelineItem", |
| | "title": "Tom Tyler", |
| | "subtitle": "Swing children", |
| | "cover": "https://cdn.radiofrance.fr/s3/cruiser-production/2019/11/2523200c-f27b-4128-bbef-07dc3b64c105/400x400_rf_omm_0001585910_dnc.0072443770.jpg", |
| | "start_time": 1581177429, |
| | "end_time": 1581177772 |
| | }, |
| | "program": null, |
| | "song": { |
| | "__typename": "SongOnAir", |
| | "cover": "https://cdn.radiofrance.fr/s3/cruiser-production/2019/11/2523200c-f27b-4128-bbef-07dc3b64c105/400x400_rf_omm_0001585910_dnc.0072443770.jpg", |
| | "title": "Swing children", |
| | "interpreters": [ |
| | "Tom Tyler" |
| | ], |
| | "musical_kind": "Musique électronique ", |
| | "label": "DC RECORDINGS", |
| | "album": "Fusions and illusions (EP)", |
| | "external_links": { |
| | "youtube": { |
| | "id": "jGLdW5p5JCQ", |
| | "link": "https://www.youtube.com/watch?v=jGLdW5p5JCQ", |
| | "image": "https://i.ytimg.com/vi/jGLdW5p5JCQ/hqdefault.jpg", |
| | "__typename": "ExternalLink" |
| | }, |
| | "deezer": { |
| | "id": "3081071", |
| | "link": "https://www.deezer.com/track/3081071", |
| | "image": "https://e-cdns-images.dzcdn.net/images/cover/e0dd38c3a1a60d97e5f890e3a7b53b7c/1000x1000-000000-80-0-0.jpg", |
| | "__typename": "ExternalLink" |
| | }, |
| | "itunes": { |
| | "id": "253330342", |
| | "link": "https://music.apple.com/fr/album/swing-children/253330339?i=253330342&uo=4", |
| | "image": "https://is4-ssl.mzstatic.com/image/thumb/Music/v4/26/e2/e5/26e2e579-965b-834d-7fb9-f10e9738b244/source/100x100bb.jpg", |
| | "__typename": "ExternalLink" |
| | }, |
| | "spotify": { |
| | "id": "61XakPvq2yQJjMt41qEUb3", |
| | "link": "https://open.spotify.com/track/61XakPvq2yQJjMt41qEUb3", |
| | "image": "https://i.scdn.co/image/ab67616d0000b2736fe4000b68c05d54c385aa91", |
| | "__typename": "ExternalLink" |
| | }, |
| | "__typename": "ExternalLinks" |
| | } |
| | }, |
| | "server_time": 1581177609, |
| | "next_refresh": 1581177773, |
| | "mode": "song" |
| | }, |
| | "previousTracks": { |
| | "__typename": "HistoryCursor", |
| | "edges": [ |
| | { |
| | "__typename": "TimeLineItemEdge", |
| | "node": { |
| | "__typename": "TimelineItem", |
| | "title": "Oxmo Puccino", |
| | "subtitle": "Oui je", |
| | "start_time": 1581177260, |
| | "cover": "https://cdn.radiofrance.fr/s3/cruiser-production/2019/11/cddec930-03ec-46ab-a706-1a99f90459d4/400x400_rf_omm_0001456862_dnc.0065086855.jpg" |
| | } |
| | }, |
| | { |
| | "__typename": "TimeLineItemEdge", |
| | "node": { |
| | "__typename": "TimelineItem", |
| | "title": "Abstract Orchestra", |
| | "subtitle": "Official / Fall in love", |
| | "start_time": 1581177053, |
| | "cover": "https://cdn.radiofrance.fr/s3/cruiser-production/2019/11/c0466beb-0826-4198-85cb-febe2513de2e/400x400_rf_omm_0001588719_dnc.0072612810.jpg" |
| | } |
| | }, |
| | { |
| | "__typename": "TimeLineItemEdge", |
| | "node": { |
| | "__typename": "TimelineItem", |
| | "title": "Cher", |
| | "subtitle": "I walked on guilded splinters", |
| | "start_time": 1581176908, |
| | "cover": "https://cdn.radiofrance.fr/s3/cruiser-production/2019/12/1fdcf809-275d-4b4b-b095-c5c20742485b/400x400_rf_omm_0001454096_dnc.0064957454.jpg" |
| | } |
| | } |
| | ] |
| | }, |
| | "nextTracks": [ |
| | { |
| | "__typename": "TimelineItem", |
| | "title": "Curtis Harding", |
| | "subtitle": "Wednesday morning atonement", |
| | "start_time": 1581177808, |
| | "cover": "https://cdn.radiofrance.fr/s3/cruiser-production/2019/11/e1bf1eb4-e219-4cb8-9118-73f484c42aa9/400x400_rf_omm_0001572660_dnc.0071608565.jpg" |
| | } |
| | ] |
| | } |
| | } |
| | </code> |
| | |
| | ==== youtube-dl ==== |
| | |
| | <code> |
| | curl --silent $url | jq ' .data.now.song.external_links.youtube.link ' |
| | "https://www.youtube.com/watch?v=vtP3bj1UxEY" |
| | </code> |
| |
| ===== Check me ===== | ===== Check me ===== |
| |
| * https://github.com/goundoulf/rf-dl/blob/master/rf-dl | * https://github.com/goundoulf/rf-dl/blob/master/rf-dl : bash, parse le HTML, download le MP3 |
| * https://github.com/jcoin/fipradioPlaylist-py | * https://github.com/jcoin/fipradioPlaylist-py |
| * https://github.com/Zopieux/fipradio | * https://github.com/Zopieux/fipradio |
| |
| Et [[https://github.com/search?utf8=%E2%9C%93&q=fipradio|d'autres trucs sur Github]]. | Et [[https://github.com/search?utf8=%E2%9C%93&q=fipradio|d'autres trucs sur Github]]. |
| | |
| | ===== Voir aussi ===== |
| | |
| | ==== Radio Nova ==== |
| | |
| | <code json> |
| | $ curl --silent http://www.nova.fr/radio/19577/player | jq . |
| | { |
| | "radio": { |
| | "name": "Radio Nova", |
| | "is_on_air_activated": "1", |
| | "high_def_stream_url": "http://novazz.ice.infomaniak.ch/novazz-128.mp3", |
| | "low_def_stream_url": "http://radionova.ice.infomaniak.ch/radionova-low.mp3", |
| | "thumbnail": "/sites/default/files/styles/thumb_player/public/2017-06/Grand_Mix_460x460.jpg?itok=tvTxS6DJ", |
| | "image": "/sites/default/files/2017-06/Grand_Mix_460x460.jpg", |
| | "background_image": "/sites/default/files/2017-06/Grand_Mix_825x660.jpg" |
| | }, |
| | "currentShow": { |
| | "title": "Le Grand Mix Samedi", |
| | "start_time": "14:00", |
| | "end_time": "18:30", |
| | "main_podcast": { |
| | "id": "49146", |
| | "spotify_url": null, |
| | "deezer_url": "https://www.deezer.com/show/523152", |
| | "itunes_url": "https://podcasts.apple.com/us/podcast/id1480233172", |
| | "feedburner_url": "https://feeds.feedburner.com/NovaLaSource" |
| | } |
| | }, |
| | "currentTrack": { |
| | "id": "22367", |
| | "title": "CRUSH", |
| | "artist": "DUCKWRTH", |
| | "image": "/sites/default/files/CQCT/2020-01/duckwrth-crush-22367.jpeg", |
| | "thumbnail": "/sites/default/files/CQCT/2020-01/duckwrth-crush-22367-thumbnail-22367.jpeg", |
| | "diffusion_date": "2020-02-08 17:16:05", |
| | "duration": "02:13", |
| | "spotify_url": "https://open.spotify.com/track/3aUviSdBVbsdmH406j5GZC", |
| | "deezer_url": "https://www.deezer.com/track/739443542", |
| | "itunes_url": "https://itunes.apple.com/WebObjects/MZStore.woa/wa/search?term=DUCKWRTH+CRUSH&media=music&entity=song&at=10ltae&ct=cetaitkoicetitre" |
| | } |
| | } |
| | </code> |