gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 11:43:29 24 4
gpt4 key购买 nike

我正在尝试编写一个可以在 headless 环境(如 Github Actions)中运行的 R 包。使用 httr,您可以使用以下代码在交互式 session 中使用 Spotify API 进行身份验证(从 spotifyr 窃取)

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
}
}
当您第一次运行它时,它会弹出一个浏览器窗口以进行身份​​验证。这只需要做一次,然后从那时起使用刷新 token 。
有什么方法可以调整它,使其不使用 web-application-flow并使用一些可以 headless 运行的其他类型的身份验证。我知道有“客户端凭据流”,但它不允许访问用户资源,我希望能够访问诸如保存的播放列表之类的内容(即 me endpoint'https://api.spotify.com/v1/me/tracks/' )

最佳答案

从逻辑上讲,如果您希望客户端跟上服务器并执行此操作,您将需要创建一个函数/方法来跟踪 outhkey 并向服务器发送一条消息,用人类语言说这是一个可信的设备不要注销,不要再次要求 key ,换句话说,使用后端 key 同步方法来保持 key 更新,就像 2FA 应用程序一样,关于播放列表和内容,它是一个可以表示的数据库查询因此(我将使用 MySQL)SELECT (Playlists, music, liked-songs...) from SongsTable where UserId-client_id

关于r - github 操作中的 Spotify 身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69006620/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com