gpt4 book ai didi

javascript - 如何将 Soundcloud API(身份验证)与 Angular.js 一起使用

转载 作者:行者123 更新时间:2023-12-03 09:36:58 27 4
gpt4 key购买 nike

我已经可以使用公共(public) Soundcloud API,但我正在努力使用回调.html 来获取登录对话框。

在 Soundcloud,我的应用程序具有以下回调重定向 uri:callback.html:http://localhost:8080/#/callback

在该路线上,我的 Angular 应用程序定义了一个具有所需回调模板的 Controller :

<!DOCTYPE html>
<html lang="en">
<head><meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Connect with SoundCloud</title>
</head>
<body onload="window.opener.setTimeout(window.opener.SC.connectCallback, 1)">
<b style="width: 100%; text-align: center;">This popup should automatically close in a few seconds</b>
</body>
</html>

在我的根 Controller 中我已经定义了:

SC.initialize({
client_id: "####",
redirect_uri: "http://localhost:8080/#/callback",
});

这就是公共(public) API 在另一个 Controller 上为我工作的原因:

SC.get('/resolve', {
url: 'https://soundcloud.com/someuser'
}, function(user) {
console.log(user);
});

但在同一个 Controller 中,以下内容返回 401:

SC.get('/me', function(me) {
console.log(me);
});

当然可以,因为没有弹出登录对话框!

那么我设置callback.html做错了什么?

我的假设:

  1. 是吗,因为该 URL 中有/#/吗?我已经尝试过 <base href="/">$locationProvider.html5Mode(true);但这并没有改变任何事情。

  2. 是吗,因为我应该不在我的 SPA 环境中提供回调.html。所以更像是一个独立的静态页面?

  3. callback.html 的映射是否错误?

  4. 我使用 webpack 作为构建工具。难道这有什么问题吗?

  5. 我是否必须在 Soundcloud 应用程序中设置除重定向 URI 之外的其他内容?

我非常希望有人能帮助我!

最佳答案

我的网站也是 angularjs+soundcloud,可以肯定的是,我在您的代码中没有看到 SC.connect 函数,是在其他地方吗?

我的 Controller 中的功能:

this.connect= function(){

SC.connect(function(response){

SC.get("/me", function(response){
// console.log(response);
var data={};
data.token = SC.accessToken();
data.id = response.id;
$rootScope.user.sc_id=data.id;
$rootScope.user.sc_token=data.token;
soundcloud.saveToken(data);
soundcloud.generateAuthString();

//other things

});
});

}

关于javascript - 如何将 Soundcloud API(身份验证)与 Angular.js 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31304756/

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