我一直在使用Spotify API编写一个chrome扩展程序,只是在我需要OAUTH完成它的部分。
我一直在关注spotify誓言页面(https://developer.spotify.com/web-api/authorization-guide/)
它说你可以进行GET调用,它会带你到页面登录,但是当我实现它时,它什么都不做。我觉得我错过了一些代码,但我不确定我错过了什么。
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
if (xhr.readyState == 4) {
// Just alerting it to see what it came up with
alert(xhr.responseText);
}
}
xhr.open("GET", "https://accounts.spotify.com/authorize/?client_id=<clientID>&response_type=code&redirect_uri=https%3A%2F%2Fwww.google.com%2F", true);
xhr.send();
这是我现在拥有的代码(填写了客户端ID),并且运行它什么都不做。 (我现在指定http://www.google.com/作为我的回调)
答案 0 :(得分:0)
在任何情况下,XHR请求都不会打开一个页面。
运行此代码应返回页面内容,但不对其执行任何操作 - 当然不能正确显示它以供用户进行交互。
您似乎需要阅读更多关于OAuth的内容。那说:
Chrome扩展程序API为此提供了一个特定的工具:chrome.identity.launchWebAuthFlow()
。它将负责向用户显示auth页面并将令牌传回给您。您需要为其使用特定的“虚拟”网址 - 有关详细信息,请参阅chrome.identity
documentation。另请注意,此API无法在内容脚本中使用,您需要将其委托给后台页面。