Commit | Line | Data |
---|---|---|
16889626 JC |
1 | <?php |
2 | ||
3 | const BASE_URL = 'https://api.spotify.com/v1/'; | |
4 | // Currently updated manually whenever I get one from the server | |
5 | const SPOT_TOKEN = 'BQCQTtwO2kiMcV_VDgfSmTXQzGlO47rUuPyc4oCHpRunPQx2ZhhVYOtksVZPMbSgoCy3cGiRMHMygon5-SleqfsP0lvRMQW3gm1Q_a8TRv5MfCGQdNwdUcUu_NBpcSjWDNUadWeg3ps-WTDWxjUWm_FOlfxMy7a2AdI_RHWZ0Lx56WHf8gYA4-YVUm_HxpqDlReqEkWE9DHppQ'; | |
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 | ||
16 | print_r($stmt->fetchAll()); | |
17 | exit(0); | |
18 | while ($row = $stmt->fetch()) { | |
19 | ||
20 | $track_opts = [ | |
21 | 'http' => [ | |
22 | 'method' => 'GET', | |
23 | 'header' => 'Authorization: Bearer ' . SPOT_TOKEN . "\r\n" | |
24 | ] | |
25 | ]; | |
26 | ||
27 | $track_context = stream_context_create($track_opts); | |
28 | ||
29 | $track_search_url = BASE_URL . 'search?q=track:' . urlencode($row['track']) | |
30 | . '+artist:' . urlencode($row['artist']) . '&type=track'; | |
31 | ||
32 | $trackReq = file_get_contents($track_search_url, false, $track_context); | |
33 | if ($trackReq) { | |
34 | $trackJSON = json_decode($trackReq, true); | |
35 | $trackJSON = $trackJSON['tracks']; | |
36 | if ($trackJSON['total'] === 0) { | |
37 | continue; | |
38 | } | |
39 | ||
40 | $uri = $trackJSON['items'][0]['uri']; | |
41 | $id = $row['id']; | |
42 | $upstmt->execute(); | |
43 | ||
44 | #rate limit | |
45 | sleep(1); | |
46 | ||
47 | } | |
48 | } | |
49 | } |