我已经看了几天Spotify api和示例源代码,但我仍然不知道如何获得访问令牌来访问用户的播放列表数据。我已经到了打开登录窗口,用户登录,然后我收到授权码的地步。此时,我尝试做如下事情:
window.open("https://accounts.spotify.com/api/token?
grant_type=authorization_code&code="+code+"&redirect_uri=myurl&client_id=3137b15
2f1424defa2c6020ae5c6d444&client_secret=mysecret");
和
$.ajax(
{
url: "https://accounts.spotify.com/api/token?grant_type=authorization_code&code="+code+"&redirect_uri=myurl&client_secret=mysecret&client_id=myid",
success: function(result){
alert("foo");
}
}
);
但是不管怎样,我得到的结果是:
{"error":"server_error","error_description":"Unexpected status: 405"}
而不是代币。我肯定这很简单,但我不擅长JS。请帮忙!谢谢!
(编辑)我忘了提:
api认证指南链接:https://developer.spotify.com/web-api/authorization-guide/
我被困在步骤4上。我看到有一种发送“标头参数”或cURL请求的替代方法,该方法可能有效。但是,我不知道如何做这些事情,我一直坚持发送client_id,并client_secret作为身体请求参数,就像我以前为用户登录/代码所做的那样。
PS:我只使用这个应用程序,我为自己写的。有没有办法在不经历此过程的情况下对令牌进行硬编码?
收到授权码后,您需要通过向Spotify帐户服务发出POST请求(这次是向其 /api/tokenendpoint),将其与访问令牌进行交换:
因此,您需要使用请求正文中的参数向Spotify API发出POST请求:
$.ajax(
{
method: "POST",
url: "https://accounts.spotify.com/api/token",
data: {
"grant_type": "authorization_code",
"code": code,
"redirect_uri": myurl,
"client_secret": mysecret,
"client_id": myid,
},
success: function(result) {
// handle result...
},
}
);
(作为旁注,“意外状态:405”指的是HTTP状态代码405方法不允许,这表明您尝试的请求方法-GET请求-在该URL上是不允许的。)
我想使用谷歌作为OIDC协议的id提供商。我有一个简单的应用程序。它启动,正确地重定向到谷歌,然后返回到应用程序,打印用户详细信息并将其存储在会话中。但是,这种身份验证似乎来自id令牌,并且只有1h的过期时间 我的YML:
我如何从第一次授权代码中获得刷新令牌和访问令牌?并且,我如何重用这个刷新令牌来获得一个新的访问令牌,以便使用Java API上传到Google Drive?这不是一个web应用程序。它在Java Swing代码中。
获取访问令牌的文档中的第一步是“将用户引导到我们的授权URL”。那到底是什么意思?没有提供链接或任何东西。它还说“公司名称、联系电子邮件和隐私政策URL是开始提交的必要条件。”我们的应用程序没有隐私政策...只是一个简单的标签提要。我不明白为什么有一个简单的标签提要那么复杂。 是否有一个等待时间来获得批准的应用程序..如果它得到批准...在获得访问令牌之前,我必须获得批准吗?这在任何地方都没有概述
下面是security.xml文件,我正在使用它合并spring-security-oauth2。 我必须在spring-security.xml文件中做哪些更改,以便在JSON中发送查询参数?
我正在开发一个通过FCM使用通知的测试应用程序。我使用Volley将数据从设备发送到服务器(WAMP),但令牌始终是空字符串/我编写的默认值。我在互联网上搜索了一下,但我仍然不知道为什么令牌没有被存储/生成(我是编码新手。)还有一件事:每次我发送令牌时,toast都会向我显示我在那里写的“好的”文本,但它也会给我很多html代码。这是我的文件:MainActivity.kt FcmInstance