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 | |
29d84c29 | 5 | const SPOT_TOKEN = 'BQBU1Qs3ROpkN9CwlQNpZS00khdSU61zuejyKbjS4KiIszK8aiLaTd9TfPiSH0OsmtWStOVL7ym-QYEBWyLX3qlFIN5peit0n6_B-LLtz4C8KSh3Dxj5O3jf4HSWf3fFISC4cLbznfSV3QnpQ4vdnCTehz4vT8V54XDiG2hX275Uw_gDHzKjqFWQo249-rY42rBv7pf555wQ2PSBymuZMcDlIDEeAbGiyRI'; |
16889626 JC |
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 | ||
29d84c29 | 16 | #print_r($stmt->fetchAll()); |
16889626 JC |
17 | while ($row = $stmt->fetch()) { |
18 | ||
19 | $track_opts = [ | |
20 | 'http' => [ | |
21 | 'method' => 'GET', | |
22 | 'header' => 'Authorization: Bearer ' . SPOT_TOKEN . "\r\n" | |
23 | ] | |
24 | ]; | |
25 | ||
26 | $track_context = stream_context_create($track_opts); | |
27 | ||
28 | $track_search_url = BASE_URL . 'search?q=track:' . urlencode($row['track']) | |
29 | . '+artist:' . urlencode($row['artist']) . '&type=track'; | |
30 | ||
31 | $trackReq = file_get_contents($track_search_url, false, $track_context); | |
32 | if ($trackReq) { | |
33 | $trackJSON = json_decode($trackReq, true); | |
34 | $trackJSON = $trackJSON['tracks']; | |
35 | if ($trackJSON['total'] === 0) { | |
36 | continue; | |
37 | } | |
38 | ||
39 | $uri = $trackJSON['items'][0]['uri']; | |
40 | $id = $row['id']; | |
41 | $upstmt->execute(); | |
42 | ||
43 | #rate limit | |
44 | sleep(1); | |
45 | ||
46 | } | |
47 | } | |
48 | } |