Commit | Line | Data |
---|---|---|
16889626 JC |
1 | <?php |
2 | ||
86b8d9ed JC |
3 | const BASE_URL = 'https://api.spotify.com/v1/'; |
4 | // Currently updated manually whenever I get one from the server | |
5 | const SPOT_TOKEN = 'BQBU1Qs3ROpkN9CwlQNpZS00khdSU61zuejyKbjS4KiIszK8aiLaTd9TfPiSH0OsmtWStOVL7ym-QYEBWyLX3qlFIN5peit0n6_B-LLtz4C8KSh3Dxj5O3jf4HSWf3fFISC4cLbznfSV3QnpQ4vdnCTehz4vT8V54XDiG2hX275Uw_gDHzKjqFWQo249-rY42rBv7pf555wQ2PSBymuZMcDlIDEeAbGiyRI'; | |
6 | ||
7 | $pdo = new PDO("sqlite:mktplc.sqlite3"); | |
8 | ||
9 | $stmt = $pdo->prepare("SELECT * FROM SONGS WHERE uri IS NULL"); | |
10 | $upstmt = $pdo->prepare("UPDATE songs SET (uri) = :uri WHERE id = :id"); | |
11 | $upstmt->bindParam(':uri', $uri); | |
12 | $upstmt->bindParam(':id', $id); | |
13 | ||
14 | if ($stmt->execute()) { | |
15 | while ($row = $stmt->fetch()) { | |
16 | ||
16889626 JC |
17 | $track_opts = [ |
18 | 'http' => [ | |
19 | 'method' => 'GET', | |
86b8d9ed | 20 | 'header' => 'Authorization: Bearer ' . SPOT_TOKEN . "\r\n" |
16889626 JC |
21 | ] |
22 | ]; | |
86b8d9ed | 23 | |
16889626 | 24 | $track_context = stream_context_create($track_opts); |
86b8d9ed | 25 | |
16889626 | 26 | $track_search_url = BASE_URL . 'search?q=track:' . urlencode($row['track']) |
86b8d9ed | 27 | . '+artist:' . urlencode($row['artist']) . '&type=track'; |
16889626 JC |
28 | |
29 | $trackReq = file_get_contents($track_search_url, false, $track_context); | |
30 | if ($trackReq) { | |
86b8d9ed JC |
31 | $trackJSON = json_decode($trackReq, true); |
32 | $trackJSON = $trackJSON['tracks']; | |
33 | if ($trackJSON['total'] === 0) { | |
34 | continue; | |
35 | } | |
16889626 | 36 | |
86b8d9ed JC |
37 | $uri = $trackJSON['items'][0]['uri']; |
38 | $id = $row['id']; | |
39 | $upstmt->execute(); | |
16889626 | 40 | |
86b8d9ed | 41 | sleep(1); |
16889626 | 42 | } |
86b8d9ed JC |
43 | } |
44 | } | |
45 |