Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python3
- import json
- from flask import Flask, request, redirect
- import requests, base64, os.path
- username = "YOUR_SPOTIFY_USERNAME"
- playlist_id = "YOUR_PUBLICK_PLAYLIST_ID"
- app = Flask(__name__)
- # Authorization code flow
- url = "https://accounts.spotify.com/authorize"
- CLIENT_ID = "YOUR_APP_CLIENT_ID"
- REDIRECT_URI = "http://127.0.0.1:8080/callback"
- SCOPE = "playlist-modify-public"
- CLIENT_SECRET = "YOUR_APP_SECRET_ID"
- @app.route('/')
- def index():
- return redirect(
- "https://accounts.spotify.com/authorize/?client_id=" + CLIENT_ID + "&response_type=code&redirect_uri=http%3A%2F%2F127.0.0.1%3A8080%2Fcallback&scope=" + SCOPE)
- @app.route("/callback")
- def callback():
- access_token = request.args
- code_payload = {"grant_type": "authorization_code", "code": str(access_token['code']), "redirect_uri": REDIRECT_URI}
- base64encoded = base64.b64encode(bytes(CLIENT_ID + ":" + CLIENT_SECRET, "UTF-8"))
- headers = {"Authorization": "Basic %s" % base64encoded.decode('utf-8')}
- post_request = requests.post("https://accounts.spotify.com/api/token", data=code_payload, headers=headers)
- json_response = json.loads(post_request.text)
- #song = json.loads(open(os.path.dirname(__file__) + '/add_song.json',"r", encoding="utf-8-sig", errors="ignore").read())
- #track_ids = song[u"track"][u"id"]
- track_ids = "TRACK_ID_OF_SONG_YOU_WANT_TO_ADD"
- add_req = requests.post(
- "https://api.spotify.com/v1/users/" + username + "/playlists/" + playlist_id + "/tracks?uris=spotify:track:" + track_ids,
- data=code_payload, headers={'Authorization': 'Bearer ' + json_response[u'access_token']})
- return "Song Added"
- if __name__ == "__main__":
- app.run(debug=True, port=8080)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement