Update README because I forgot how to develop this app.
[Marketplaylister.git] / searchify.php
CommitLineData
16889626
JC
1<?php
2
86b8d9ed
JC
3const BASE_URL = 'https://api.spotify.com/v1/';
4// Currently updated manually whenever I get one from the server
5const 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
14if ($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