我正在尝试集成 Web API 来获取当前播放/最近播放的歌曲。但是,我无法生成具有范围的令牌(用户读取当前播放、用户读取播放状态)。
我点击此链接作为 Spotify 的参考。 https://developer.spotify.com/web-api/authorization-guide/
我收到以下 HTML 响应:
<html ng-app="accounts" ng-csp="">
<head>
<meta charset="utf-8">
<title ng-bind="(title && (title | localize) + ' - ') + 'Spotify'">Spotify</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
<base href="/">
<link href="https://d2d1dxiu3v1f2i.clou..." media="screen" rel="stylesheet">
<script async="" defer="" src="https://d2d1dxiu3v1f2i.clou..." sp-bootstrap=""></script>
<meta ng-non-bindable="" sp-bootstrap-data="">
</head>
<body ng-view=""></body>
</html>
请帮忙。
您似乎稍微误解了身份验证过程 - 在授权代码流程中,第一步是将该页面呈现给您的用户。您可以在 iframe、弹出窗口、原始窗口中执行此操作 - 无论您喜欢什么。用户在该页面上授予或拒绝权限后,他们将使用重定向 URI 重定向回您的应用程序。
要完成授权代码流程,您必须将重定向中获得的代码交换为访问令牌和刷新令牌。要执行此交换,您需要客户端服务器 - 不得将其存储在您的 Web 前端中。您需要一个后端来进行交换并使用访问令牌将用户转发到您的前端。如果您没有后端,您可以使用隐式授权流程。
希望有帮助!
休