我正在构建一个Twitch聊天机器人,使用Spotipy库集成一些Spotify功能
实现的目标是实现机器人的全自动Spotipfy API身份验证
spotifyapi和Spotipy库如何工作,首先需要一个授权令牌,以便在Spotify端执行任何操作。因此,每当bot最初在我的VPS上运行时,它都会提示我从控制台复制URL,在浏览器上找到它以等待重定向,并在控制台上粘贴重定向的URL,包括所需的令牌。这就是身份验证对象检索令牌数据的方式
为了使这一过程自动化,我看到了几种通过Flask或Django实现的解决方案
Django实现对我来说很有用,因为我在相同的VPS上也有Django环境处于活动状态,除了Django环境在Python 2.7
上运行,而我的Twitch聊天机器人在单独的Python 3.6
环境上运行。因此,我希望将它们分开,除非在不监听Django、Flask或任何其他web框架上的重定向的情况下,无法实现这种自动化。不幸的是,我的bot只能在Python 3.6
或更高版本上运行
我特别好奇是否有任何内置函数或轻量级库来处理此类操作
我用来获取Spotify Auth令牌的函数是:
def fetchSpotiToken():
global spotiToken, spoti
spotiToken = spotifyAuth.get_cached_token()
if not spotiToken:
spAuthURL = spotifyAuth.get_authorize_url()
print(spAuthURL)
# Prints the URL that Spotify API will redirect to
authResp = input("Enter URL")
# Console user is expected to visit the URL and submit the new redirected URL on console
respCode = spotifyAuth.parse_response_code(authResp)
spotiToken = spotifyAuth.get_access_token(respCode)
elif spotifyAuth.is_token_expired(spotifyAuth.get_cached_token()):
spotiToken = spotifyAuth.refresh_access_token(spotiToken["refresh_token"])
spoti = spotipy.Spotify(auth=spotiToken["access_token"])
return [spotiToken, spoti]
PS:我只开发了几周的Python,即使在做了一些研究之后,我也无法找到一种我需要的解决方案。我不确定是否有可能通过这种方式实现。所以,如果这是不可能的,请原谅我缺乏知识
我自己找到了解决办法
看起来
requests
与这个例子很匹配下面的代码片段目前运行良好
相关问题 更多 >
编程相关推荐