r语言 - github操作中的Spotify身份验证



我正在尝试编写一个R包,可以在Github Actions等无头环境中运行。使用http,您可以通过以下代码(从spotifyr窃取)在交互式会话中验证Spotify API

get_spotify_authorization_code <- function(
client_id = Sys.getenv("SPOTIFY_CLIENT_ID"),
client_secret = Sys.getenv("SPOTIFY_CLIENT_SECRET"),
scope = get_scopes()
) {

endpoint <- oauth_endpoint(authorize = 'https://accounts.spotify.com/authorize',
access = 'https://accounts.spotify.com/api/token')

app <- oauth_app('spotty', client_id, client_secret)

token <- safely(.f=oauth2.0_token)(
endpoint = endpoint,
app = app,
scope = scope)

if (!is.null(token$error)) {
token$error
} else {
token$result
}
}

当您第一次运行它时,它会弹出一个浏览器窗口来进行身份验证。这只需要做一次,然后从那时起使用刷新令牌。

是否有一种方法我可以适应这一点,所以它不使用web-application-flow,并使用一些其他类型的Auth,可以运行无头。我知道有"客户端凭据流",但它不允许访问用户资源,我希望能够访问保存的播放列表(即me端点,'https://api.spotify.com/v1/me/tracks/')等内容

从逻辑上讲,如果你想要的客户端与服务器保持和一旦你需要创建一个函数/方法将跟踪outhkey向服务器发送一条消息说在人类的舌头这是一个值得信赖的设备不需要进行日志记录,又不要求关键换句话说,使用后端密钥同步的方法持续更新的关键,就像2足总应用程序,播放列表和东西,这是一个DB查询,可以表示为(我将使用MySQL)

SELECT (Playlists, music, liked-songs...) from SongsTable where UserId-client_id

相关内容

最新更新