当前位置: 首页 > 知识库问答 >
问题:

Angular2服务-Spotify API授权失败,使用cors策略

梁丘诚
2023-03-14

我目前正在学习一些 Angular2 的教程。不幸的是,我的教程没有涵盖Spotify API现在需要授权。我已经在Spotify开发角设置了一个应用程序。我的 Angular2-服务的代码如下所示

import { Injectable } from '@angular/core';
import { Http } from '@angular/http';
import 'rxjs/add/operator/map';

@Injectable()
export class SpotifyService {
    private searchUrl: string;
    private token: string;
    private client_id = 'xxxx';
    private client_secret = 'yyyy';
    private redirect_uri = 'http://localhost:4200';
    private responseType = 'code';

    constructor(private _http:Http){

    }

    authorize(){
        return this._http
            .get('https://accounts.spotify.com/authorize?client_id=' + this.client_id + '&client_secret=' + this.client_secret + '&redirect_uri=' + this.redirect_uri + '&response_type=' + this.responseType)
            .map(res => res.json());
    }    
}

我组件中的构造函数是这样的

constructor(private _spotifyService:SpotifyService) {
        this._spotifyService.authorize().subscribe(res => {
            console.log(res);
        });
    }

现在我的问题是,当我的应用程序运行时,我收到了一个与交叉起源策略有关的错误,这让我有点困惑,我真的不知道在哪里正确设置标头。

XMLHttpRequest无法加载https://accounts.spotify.com/authorize?client_id=xxxx

我已经在他们的开发角将redirect_uri添加到我的Spotify应用程序中。也许你可以帮忙。提前感谢

问候克里斯

共有1个答案

常波
2023-03-14

在HTTP服务器上共享标头,如恩金克斯,阿帕奇。

你需要阅读CORS政策。

需要共享方法-示例中的options、get、post

 类似资料:
  • 因此,为了简单起见,我只是将添加到MyWebSecurity类的方法中,这解决了选项请求的问题,但因此POST请求不再起作用,而且(同时使用curl)。 我试图找出是否必须以某种方式连接MyWebSecurity类和AuthServer,但没有任何运气。原始示例(开头的链接)也注入了authenticationManager,但这对我没有什么改变。

  • 授权策略 必须 使用 授权策略 类来做用户授权。 使用基类 所有 Policy 授权策略类 必须 继承 app/Policies/Policy.php 基类。基类文件如下: <?php namespace App\Policies; use Illuminate\Auth\Access\HandlesAuthorization; class Policy { use HandlesA

  • 因此,我已经研究了许多关于这个问题的问题,但没有找到解决方案。 以下是我目前在尝试使用谷歌地图Android API时收到的错误。 这是我的清单文件 这是片段。地图的java 以及布局。相同的xml 下面的图片显示了启用的谷歌地图Android API 下面是显示生成的API密钥的

  • 我试图通过Java Apachebeam MongoDbIO连接器连接到MongoDB,得到一个“未授权”错误。 同样的连接细节也适用于Python并能够检索数据。 “org.apache.beam.sdk.io.mongodbo.mongodbio$boundedmongodbsource.$closeresource(Mongodbio.java:407)位于org.apache.beam.s

  • 我正在使用Vagrant部署到Ubuntu Linux,并尝试启动服务。 然后我跟踪,发现: ?tomcat8.service-lsb:启动tomcat。加载:加载(/etc/init.d/tomcat8) active:失败(结果:exit-code)自2016-03-28 09:44:17 GMT;5s前 文档:人:systemd-sysv-generator(8) 进程:884 execst

  • 我正在尝试使用Angular2和Http POST对SOAP web服务进行一个非常简单的调用。如果我使用POSTMAN发布相同的消息,只需将内容类型设置为text/xml即可。 对于Angular2,我得到了以下错误:- SEC7120:原点http://localhost:3004在Access Control Allow Origin标头中找不到 SCRIPT7002: XMLHttpReq