import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
spotify: {
type: "app",
app: "spotify",
}
},
async run({steps, $}) {
return await axios($, {
url: `https://api.spotify.com/v1/me`,
headers: {
Authorization: `Bearer ${this.spotify.$auth.oauth_access_token}`,
},
})
},
})
Spotify uses OAuth authentication. When you connect your Spotify account, Pipedream will open a popup window where you can sign into Spotify and grant Pipedream permission to connect to your account. Pipedream securely stores and automatically refreshes the OAuth tokens so you can easily authenticate any Spotify API.
Pipedream requests the following authorization scopes when you connect your account:
playlist-read-collaborative
playlist-modify-private
playlist-modify-public
playlist-read-private
user-modify-playback-state
user-read-currently-playing
user-read-playback-state
user-read-private
user-read-email
user-library-modify
user-library-read
user-follow-modify
user-follow-read
user-read-recently-played
user-top-read
streaming
app-remote-control
ugc-image-upload
user-read-playback-position
GET
https://accounts.spotify.com/authorize
?
client_id={{oauth.client_id}}
&
redirect_uri={{oauth.redirect_uri}}
&
state={{oauth.state}}
&
response_type=code
&
scope={{oauth.space_separated_scopes}}
POST
https://accounts.spotify.com/api/token
content-type: application/x-www-form-urlencoded
accept: application/json
client_id={{oauth.client_id}}
&
client_secret={{oauth.client_secret}}
&
redirect_uri={{oauth.redirect_uri}}
&
grant_type=authorization_code
&
code={{oauth.code}}
POST
https://accounts.spotify.com/api/token
content-type: application/x-www-form-urlencoded
accept: application/json
client_id={{oauth.client_id}}
&
client_secret={{oauth.client_secret}}
&
grant_type=refresh_token
&
refresh_token={{oauth.refresh_token}}