update(spotify): get token to use API
This commit is contained in:
parent
9c12084665
commit
a2ef5d3b79
3 changed files with 28 additions and 4 deletions
13
server.go
13
server.go
|
@ -14,6 +14,7 @@ import (
|
|||
|
||||
var MyClient = &http.Client{}
|
||||
var MyResp = &RespBandcamp{}
|
||||
var SpotifyAPI = &TokenUser{}
|
||||
|
||||
func loginSpotify(w http.ResponseWriter, r *http.Request) {
|
||||
if err := r.ParseForm(); err != nil {
|
||||
|
@ -71,7 +72,7 @@ func getAllTracksPlaylist(id string, offset int) (SpotifyPlaylist, error) {
|
|||
}
|
||||
req.Header.Add("Accept", "application/json")
|
||||
req.Header.Add("Content-Type", "application/json")
|
||||
req.Header.Add("Authorization", SpotifyAPI)
|
||||
req.Header.Add("Authorization", SpotifyAPI.TokenType + " " + SpotifyAPI.Token)
|
||||
res, err := MyClient.Do(req)
|
||||
|
||||
if err != nil {
|
||||
|
@ -226,8 +227,12 @@ func getNew(w http.ResponseWriter, r *http.Request) {
|
|||
MyResp.Notfound = nil
|
||||
}
|
||||
|
||||
func mytest(w http.ResponseWriter, r *http.Request) {
|
||||
fmt.Fprintf(w, r.RequestURI)
|
||||
func mytoken(w http.ResponseWriter, r *http.Request) {
|
||||
defer r.Body.Close()
|
||||
err := json.NewDecoder(r.Body).Decode(&SpotifyAPI)
|
||||
if err != nil {
|
||||
fmt.Printf("error:", err)
|
||||
}
|
||||
}
|
||||
|
||||
func main() {
|
||||
|
@ -237,7 +242,7 @@ func main() {
|
|||
http.HandleFunc("/back", formHandler)
|
||||
http.HandleFunc("/refresh", getNew)
|
||||
http.HandleFunc("/spotify", loginSpotify)
|
||||
http.HandleFunc("/mytest", mytest)
|
||||
http.HandleFunc("/mytoken", mytoken)
|
||||
|
||||
fmt.Printf("Starting the server…\n")
|
||||
if err := http.ListenAndServe(":8080", nil); err != nil {
|
||||
|
|
13
static/gethash.js
Normal file
13
static/gethash.js
Normal file
|
@ -0,0 +1,13 @@
|
|||
const hash = window.location.hash.substring(1).split('&')
|
||||
var datas = {}
|
||||
for (let elem of hash) {
|
||||
elem = elem.split('=')
|
||||
datas[elem[0]] = elem[1]
|
||||
}
|
||||
fetch('/mytoken', {
|
||||
method: 'POST',
|
||||
headers: {
|
||||
'Content-Type': 'application/json'
|
||||
},
|
||||
body: JSON.stringify(datas)
|
||||
}).then(() => {window.location.replace("/")})
|
|
@ -2,6 +2,12 @@ package main
|
|||
|
||||
import "time"
|
||||
|
||||
type TokenUser struct {
|
||||
Token string `json:"access_token"`
|
||||
TokenType string `json:"token_type"`
|
||||
ExpiresIn string `json:"expires_in"`
|
||||
}
|
||||
|
||||
type BandcampAlbum struct {
|
||||
find bool
|
||||
url string
|
||||
|
|
Loading…
Reference in a new issue